Jump to content
araxestroy

sc2kfix - a bugfix and modding plugin for SimCity 2000 Special Edition

204 posts in this topic Last Reply

Highlighted Posts

Posted:
Last Online:  
 
54 minutes ago, araxestroy said:

Currently working out the best and most balanced way to restore the unimplemented "military bases create revenue and increase commercial demand" functionality. I'm pretty sure it's going to need to scale with both population and base growth, but bases grow so quickly that I might want to find a way to scale base growth a bit.

Look up how the ordinances work in code and see if you can copy/modify one for your own purposes. Several of them boost zone demand for specific financial costs or vice versa.

Homeless Shelter, for example, reduces revenue equivalent to lowering residential taxes by 0.5% and increases commercial demand equivalent to lowering commercial taxes by 1.0%. Lots of stuff like that in there.

  • Like 1

Share this post


Link to post
Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     
    31 minutes ago, Sixfortyfive said:

    Look up how the ordinances work in code and see if you can copy/modify one for your own purposes. Several of them boost zone demand for specific financial costs or vice versa.

    Homeless Shelter, for example, reduces revenue equivalent to lowering residential taxes by 0.5% and increases commercial demand equivalent to lowering commercial taxes by 1.0%. Lots of stuff like that in there.

    That's what a lot of my time yesterday was spent doing, deconstructing the ordinance system and figuring out how it handles what it does financially. Turns out it's very simple. Anything that has an effect that's functionally a change in property tax rates does so by modifying the year end property tax average in place just before the tax revenue calculations are done. My issue is less a programming one -- I can mess with budget and ordinance stuff at will now -- and more of a game design one.

    I've also determined that there are 12 additional bitfields still free for ordinances and six additional zone IDs. I don't think creating new zones is particularly feasible -- we're already completely out of tile IDs -- but creating new ordinances in the future would not be particularly difficult.

    The hardest part is making sure anything new that gets added to the game can be a) made opt-in and b) backwards compatible with the existing save format.

    • Like 3

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    image.png.09ffc3c97bac1d49130ee9244da3faf4.png

    This one took me an embarrassingly long time to do. Originally my plan was to do all the dialog logic myself and that led me down a rabbit hole of stack collisions and extremely unusual window message handling on MFC's part. After a couple hours I gave up and decided to do something similar to the main menu change and just intercept the dialog creation on the fly, do a bit of logic to handle the mayor name box, and pass the rest back onto AfxDlgProc so the game can handle the rest.

    While I was at it I fixed some city saving bugs that would sometimes change the city's name if you did a Save As and made sure it would consistently load the correct mayor name out of the save file.

    You can still change the default mayor name in the settings; this just lets you do it on a per city basis like in later SimCity games. Also it's a good proof of concept for fiddling with dialogs by adding additional options.

    • Like 2

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Even though I said I'm not particularly interested in playing a significantly rebalanced game, I figure that if you're already poking around in there for things to tweak, then I'd offer some food for thought on things about the game that have stood out to me for one reason or another. This is kind of a rambling stream of consciousness post alternating between suggestions, questions, and misc remarks. Also trying not to repeat too much of what I've already said:

    Do the health and education subsystems do anything of consequence at all, and is this something you think should be tweaked? A lot of documentation suggests that a highly-educated workforce is required to attract workers to high-tech, low-pollution industries, but in my own experience, this isn't the case. When I set tax incentives to punish high-polluters from the outset of the game, that alone is enough to significantly decrease citywide pollution, and it has no observable consequence on industrial growth so long as the average industrial tax rate doesn't change.

    Pollution itself also does not appear to have as large of an impact on the game as players assume. Pollution that originates from individual buildings does matter and can have a strong impact on neighboring zones, but this is limited to a range of about 4 tiles from the origin point. (You can verify this in the Map views.) Pollution that is produced on a citywide scale (no pollution-based industry tax incentives, lack of pollution controls ordinance, lack of adequate water treatment), however, doesn't really seem to matter at all. Despite each of these 3 citywide factors causing huge variations in the reported pollution value in the Graphs window, they don't seem to have observable impacts on land value or zone development. I've also yet to see any evidence that pollution has a significant effect on LE, despite documentation to the contrary.

    LE itself also doesn't seem to really matter. Low LE does not deter RCI growth. The only observable consequence that I've seen from LE is that higher LE lessens the burden on the educational facilities because it allows for better student-teacher ratios, but that's not a big deal in itself because EQ doesn't seem to matter either. EQ does not appear to influence industry as documented. And while schools and colleges appear to have the intended effect on EQ that they're supposed to have, I've yet to observe any actual effect from libraries or museums at all. Documentation says that they prevent EQ from decaying with old age; experience shows no evidence for this. (Maintaining a stable population and high RCI demand, however, seems to accelerate the trendlines for both EQ and LE, even though that doesn't make a ton of sense to me on the surface. And like I think I mentioned earlier, if your population is *perfectly* stable, then it eventually causes rollover bugs for both LE and EQ.)

    Do Parking Fines actually "encourage mass transit usage and slightly inhibit commerce" as stated? When I tested ordinances, I didn't notice any effect for parking fines other than their beneficial financial impact. Thought it would be kind of interesting if parking fines had a negative impact on commerce equivalent to a 1% tax hike, but balanced out by also extending the walkable distance to rail/sub stations from 3 tiles to 6.

    Do Junior Sports do literally anything? Couldn't figure this one out.

    Not only are multi-tile buildings normally prevented from spawning at the city's edge, it seems that if they ever do, then there are weird glitches that mess with their appearance and shift their location when you bulldoze them. The north side of the map is the only side where I've seen it happen; you can try zoning dense industrial along that edge to verify. You have any idea what's going on there?

    You have any idea on what the exact population cap thresholds are for the different zone types and how recreational facilities, ports, and neighboring connections boost them? I notice that you don't have to construct those facilities immediately after they're demanded. There is some kind of grace period before the caps actually come into play, but I don't know the exact values. (I wrote a section in my guide that details the exact values as reported in the status window demands, but these aren't the "real" values that the simulation actually checks against when it determines whether you're actually over the cap or not.)

    On recreational facilities: As-is, stadiums are incredibly inefficient. They only seem to boost the residential cap by the same amount as zoos (and by the same per-tile amount as marinas) despite being way more expensive. Maybe this is developer commentary on how rich sports team owners are always swindling their municipalities with expensive stadium contracts, but it makes me wonder if there's some potential for adjusting stadium effectiveness in-game in one way or another.

    When I was testing disasters across different versions of the game, I noticed that radioactive waste *never* seems to decay in Win95. Worth checking to see if it's bugged compared to other versions.

    How does the "downtown" land value bonus work exactly? Is the city center determined to be the geographic mid-point between the currently developed areas of the map? Does this mid-point shift around the map as you extend the outer range of your city? Does the bonus increase depending on the total land area of your city or its population? This is all stuff that I've had on my testing bucket list for some time but just never made time for.

    Would it be worthwhile to make the microsim query windows display more worthwhile information? This is a thought I had when I was testing different aspects of the water system. The in-game information presented for water treatment plants and desalinization plants, for example, are entirely worthless. The only relevant information for treatment plants is whether they're over capacity or not, and this is determined by building 1 treatment plant per 2000 city tiles; I'm pretty sure that the microsim info for them is all junk.

    Would it be feasible to alter how the game checks for the unused scenario win conditions? The scenario data structure allows the creator to specify win conditions for things like crime, traffic, pollution, and land value, but none of those things are implemented in sensible, user-friendly ways. For example, the crime limit doesn't check for the reported crime value in the Graphs window, but for "total monthly crime," which isn't displayed to the user anywhere in-game. And it also unfairly punishes large cities because a city that is twice as large by land area than a smaller city will have twice as much "total crime" than that smaller city even if their reported crime rates in the Graphs window is the same. I've long felt that if the game was just checking these values against the Graphs window instead, then it could allow for some more interesting and varied custom scenarios. I also feel that this is probably the reason why Las Vegas is the only officially released scenario that uses something other than population as the win condition; they had to have realized at some point that population was the only win criteria that actually functioned as intended.

    Some thoughts on the water system:

    Water pump output is calculated by: SeaLevel * 5 + BorderingFreshTiles * 10 + Precipitation / 2
    Desalinization plant output is calculated by: BorderingSaltTiles * 20 (this is calculated per-tile, not per-building)

    (These output values are calculated in tiles. The game multiplies this by 720 and reports that as "gallons" to the player.)

    I've long felt that the use of "SeaLevel" in water pump calculations was a mistake. It would be much more sensible for the pump's output to be influenced by the elevation that separates it from the sea level, not just the raw sea level value of the map itself. In fact, some strategy guides indicate that this is how it was "supposed" to work in the first place.

    IMO, it would make sense to replace the "SeaLevel * 5" part of the water pump formula with a calculation that takes into account the difference between the pump's elevation and the sea level, while also making the modified output as consistent with the original calculation as possible in "typical" situations. Like, the default sea level for terrain generation is 4, which makes that part of the formula work out to be "4 * 5 = 20" in its unmodified form on any randomly generated city with default settings. So, I'd make it so that when a pump is constructed at the same level as the shoreline, then this part of the equation would still equal 20, but as you build pumps at higher and higher elevations, this value would decrease accordingly since the pump isn't tapping into ground water as effectively.

    Making a "sensible" water pump formula like this might not please min-maxers, though, as seasoned players know that they should just build their maps with the highest possible sea level to make their pumps more efficient. Changing how this works would break such cities.

    Desalinization plants arguably deserve a boost to their output in any case. There are almost no circumstances where they're more efficient than water pumps when placed in similarly advantageous terrain.

    Water towers also arguably deserve some kind of boost. It is pretty much always more sensible to build more water pumps instead because droughts can last a long time and deplete your water tower reserves regardless of what you do. (Also, water towers store "400 tiles" of water, not 40000 gallons.)

    Water treatment plants seem to mostly function as intended, though they curiously don't have to be connected to either power or water as they're currently implemented.

    Anyway, if I was looking to actually rebalance any of the above factors myself, my first course of action would probably be to ask "well, how did SimCity 3000 handle this?" and then consider back-porting that functionality to 2000 in cases where it made sense... But then that kind of just works itself back around to the issue I had at the start: at what point are you just recreating 3000 and reinventing the wheel? Why wouldn't I just play 3000 instead?

    • Like 2

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     
    1 hour ago, Sixfortyfive said:

    Even though I said I'm not particularly interested in playing a significantly rebalanced game, I figure that if you're already poking around in there for things to tweak, then I'd offer some food for thought on things about the game that have stood out to me for one reason or another. This is kind of a rambling stream of consciousness post alternating between suggestions, questions, and misc remarks. Also trying not to repeat too much of what I've already said:

    Do the health and education subsystems do anything of consequence at all, and is this something you think should be tweaked? Yes, there is a slight change in industrial subtype demands based on EQ. I haven't narrowed down exactly what exactly gets affected by what but it looks like if your EQ is under 60, high tech industry demand is 80% of "baseline". If it's between 101 and 129, high tech industry demand is 110% of baseline, and if it's 130 or higher, high tech industry demand is 120% of baseline. What this actually translates to in practice, I don't know yet. I haven't found anything quite similar for LE yet -- it seems to mostly just factor into parades. LE could stand to be useful for something.

    Do Parking Fines actually "encourage mass transit usage and slightly inhibit commerce" as stated? Nope. It seems to pay out the equivalent of a 0.5% residential property tax bump. That's it. It's only ever referenced in the end-of-year ordinance budget calculations.

    Do Junior Sports do literally anything? It costs you 0.25% of residential tax. That's it. You don't even get a parade or a feel-good advisor message out of it.

    Not only are multi-tile buildings normally prevented from spawning at the city's edge, it seems that if they ever do, then there are weird glitches that mess with their appearance and shift their location when you bulldoze them. The north side of the map is the only side where I've seen it happen; you can try zoning dense industrial along that edge to verify. You have any idea what's going on there? The algorithm for determining whether or not something can go at the edge of the map is fairly naive and seems to assume that the origin point of growth is the lowest coordinate tile (closest to the top of the screen). When this doesn't pan out it seems to not be able to recover very well.

    You have any idea on what the exact population cap thresholds are for the different zone types and how recreational facilities, ports, and neighboring connections boost them? Not yet, but I have an idea of where to start looking.

    When I was testing disasters across different versions of the game, I noticed that radioactive waste *never* seems to decay in Win95. Worth checking to see if it's bugged compared to other versions. It can decay, it's just doing so on a heat-death-of-the-universe scale. It's roughly "at the start of day 21 of each month, choose a single random tile. if that tile is radioactive, it has a 1 in 16 chance of decaying." I'd hazard a guess that running at Cheetah speed, your radioactive tiles have a similar decay rate in real time to actual real world nuclear fallout.

    How does the "downtown" land value bonus work exactly? Haven't got a clue and I'm not even sure where to start on that one to be honest.

    Would it be worthwhile to make the microsim query windows display more worthwhile information? Yes, it'd be handy to at least know what different microsims are up to and what their thresholds for various "it might be time for a new XYZ" events are. I'm still trying to figure out the query tool somewhat.

    Would it be feasible to alter how the game checks for the unused scenario win conditions? Quite feasible. It's basically a big blob of compounding if statements at the end of the day 21 simulation tick, just before the bankruptcy check. The order of this means it's technically possible to win a scenario while your city is more than $100,000 in debt! The only issue I've got right now regarding scenarios is that I've got a curious gap of two words right in the middle of the scenario goals that don't map to anything in the file spec. Their comparisons seem incorrectly written as well as they seem to be goals that you reach by having your LE and EQ lower than them, and that's... not how that's supposed to work at all.

    • Like 3

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     
    On 2/11/2025 at 12:27 PM, Sixfortyfive said:

    The only other major bug in the game that's bothered me for a long time (present in every PC/Mac version I've checked) is that it doesn't seem to properly handle rail/highway neighbor connections between sessions. You could build some rail connectors, then quit and reload, and the game wouldn't recognize any of your old connectors until you bulldozed one of them. It kind of forces you into always building seaports instead (which do properly persist between sessions), which is a pain if you didn't have the foresight to generate the proper terrain for that ahead of time.

    I think I've figured this one out. I haven't written the actual fix yet but it looks like it's purely an issue on game load and I think I know the easiest way to fix it.

    • Like 2
    • Thanks 1

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Release 7 is here! Grab it from GitHub: https://github.com/araxestroy/sc2kfix/releases/tag/r7a

    eizM83B.png

    Game Fixes

    • Power and water usage calculations are no longer delayed and batched in cities larger than 50,000 Sims. This was originally implemented to save simulation time on 1993 era hardware and is no longer needed.
    • Rail and highway neighbor connections now load from saved games properly. No more need to blow up and rebuild your connections when you fire up a saved game!
    • Sign rendering has been fixed to use the originally intended font and text alignment.
    • The game's sound buffers have been increased from a maximum of 32KiB to 256KiB to accommodate higher quality sound files.
    • City names are now properly retained when saving your city.
    • The save dialog no longer accidentally silently appends another file extension on Windows 11.
    • The budget dialog no longer cuts off and disappears label text.

    New Features

    • A few higher quality sounds have been ported over other versions of the game. The new sounds are embedded in the DLL and are automatically loaded and played instead of the lower quality on-disk versions. Can be turned off in the settings dialog.
    • An improved New City dialog has been added with the ability to change the mayor's name. Your default mayor name from the install and settings dialogs is filled in by default; choosing a different mayor name for a new city does not change your default mayor name.
    • Some preliminary map live debugging tools have been added to the console.
    • Tooltips have been added to some settings to elaborate on the changes they make.
    • Like 4

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Thank you so much for this plugin! I'm kind of tired of maintaining a legacy system for any purpose, so what you've created is great for me! I'm also tired of overstimulating myself with "fiction." I guess that's why I'm back here. I use a Sound Canvas soundfont via the mt32-pi project. On my Super Socket 7 PC, I've had great luck with the wavetable synthesis daughterboards with Roland-licensed samples from Serdashop. I'm considering buying a DreamBlaster X16GS daughterboard from Serdashop and hooking it up to my modern PC using one of Serdashop's CHiLL adapters.

    • Like 1

    Fun fact: Buffalo sauce contains the entire DNA sequence of buffalo, so you can clone buffalo while eating buffalo wings with buffalo sauce at Buffalo Wild Wings in Buffalo, New York. I've never tried it, though.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Dunno if someone mentioned this already, but another potential QoL addition for the Win95 version would be to make it actually play all of the music in the game. There are a number of MIDI files that will play in other versions of the game but never on Win95.

    I don't know the exact rhyme or reason for it, but IIRC some of the missing music specifically plays in DOS when you just click various items on the toolbar, whereas clicking the toolbar doesn't seem to trigger music in Win95.

    • Like 2

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     
    6 hours ago, Sixfortyfive said:

    Dunno if someone mentioned this already, but another potential QoL addition for the Win95 version would be to make it actually play all of the music in the game. There are a number of MIDI files that will play in other versions of the game but never on Win95.

    I don't know the exact rhyme or reason for it, but IIRC some of the missing music specifically plays in DOS when you just click various items on the toolbar, whereas clicking the toolbar doesn't seem to trigger music in Win95.

    Yeah, I've just finished decompiling the tool group and subtool selection functions and there's nothing on any of the toolbar options that fires off a call to MusicPlay() it looks like. The music selector is kind of badly implemented so I'll have to write something quick and dirty to replace it. Shouldn't take me long at all.

    The main music selector cycles through 10001, 10004, 10008, 10012, and 10018. There is a function that has a chance to actually randomly choose a song to play but it seems to not fire very often, and I haven't been able to really dig down into why. I swear I've almost never heard 10007 before, and it's a really good song so it should definitely go in the rotation. There's also an extended version of the budget window music and a handful of other tracks that honestly sound really good playing through a proper Sound Canvas.

    There's about five songs I've never really heard play maybe more than once if at all. Four of them will go into the queue; the last one (10017) has a really downbeat, repetitive, melancholic energy that I don't think would work very well in the usual pool of gameplay music.

    I wonder if I could rig this thing up to play MP3s, render all the MIDIs out using my SC-55, and add an optional "high quality music pack".

     

    Poll for everyone: Should I keep it so that the music plays in a predefined order as in the vanilla game and loops the same way, or should it shuffle after every loop? And should music play more frequently in general?


      Edited by araxestroy  
    • Like 2

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Hmmm,

    The more music variety the better, especially if it highlights some of the tracks that have mostly been buried. Shuffling after each loop may not be a bad idea, it keeps things interesting. As for more frequently.. that's one area (for me anyway) where the current frequency appears to be acceptable.

    A thought that comes to mind though would perhaps be to also have the ability to override the music track, let's say via an additional menu (similar to the track selection that could be done in SimCity 3000).

    • Like 2

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    1 hour ago, araxestroy said:

    Poll for everyone: Should I keep it so that the music plays in a predefined order as in the vanilla game and loops the same way, or should it shuffle after every loop? And should music play more frequently in general?

    Predefined order or not doesn't matter to me so long as each song that doesn't already play during defined moments (budget, disasters, etc) has a roughly equal chance of being picked.

    I liked the DOS version's playback functionality as a general rule: the game stays silent until you click a tool.

    • Like 2

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    One thing that I'm not sure is a bug or not--and I kind of feel fine with leaving it as-is even if it is a bug but wanted to touch upon anyway--is how the game handles prison capacity.

    When prisons are under capacity, they basically make the police department more effective by increasing its crime-suppressing effect. When prisons are over capacity, they no longer provide such a boost.

    A prison has a capacity of 10,000 inmates, and it releases 1/4th of those inmates on parole at the end of each year. So, in theory, as long as citywide crime is held to a pace of under 2,500 new prisoners per year, then the prisons should never exceed capacity.

    However, it seems like the order of operations for new prisoners is implemented in such a way that the capacity check occurs after additional prisoners from the new year are added, but before the old prisoners from the previous year are released. So, if you have just a little over 8,000 prisoners being held one year, and at the end of the year you add 2,000 more, the game then adds them up to a total of over 10,000, fails the capacity check and removes the boost, and then releases 2,000 of the original inmates. If you then check the microsim for the prison, you'll see that it's only at 80-81% capacity or so, but it's no longer increasing police efficiency because the capacity check occurred before the inmate count was brought back under 10k.

    Or at least that's what seems to be happening just from observing the graphs and microsims. I'd be curious to know what's actually happening under the hood. I'm honestly fine with how all of that works in terms of game balance alone, but it doesn't seem like it's all communicated very well to the player. PPP even states that there's supposedly a newspaper story specifically about prison overcrowding that's supposed to trigger. I haven't done any datamining of my own to verify that it exists, but I'm almost certain that I've never seen such a thing in-game.

    • Like 2

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    I've got the floating status box and weather icon doodad mostly implemented. Just need to figure out what combination of esoteric WinAPI crap I need to throw at it to make it something you can reposition on your screen, and also sort out a few occasional crashes. Also hook it up to the Settings menu so you can toggle between the bottom bar and the floating gizmo.

    3 hours ago, Sixfortyfive said:

    One thing that I'm not sure is a bug or not--and I kind of feel fine with leaving it as-is even if it is a bug but wanted to touch upon anyway--is how the game handles prison capacity.

    When prisons are under capacity, they basically make the police department more effective by increasing its crime-suppressing effect. When prisons are over capacity, they no longer provide such a boost.

    A prison has a capacity of 10,000 inmates, and it releases 1/4th of those inmates on parole at the end of each year. So, in theory, as long as citywide crime is held to a pace of under 2,500 new prisoners per year, then the prisons should never exceed capacity.

    However, it seems like the order of operations for new prisoners is implemented in such a way that the capacity check occurs after additional prisoners from the new year are added, but before the old prisoners from the previous year are released. So, if you have just a little over 8,000 prisoners being held one year, and at the end of the year you add 2,000 more, the game then adds them up to a total of over 10,000, fails the capacity check and removes the boost, and then releases 2,000 of the original inmates. If you then check the microsim for the prison, you'll see that it's only at 80-81% capacity or so, but it's no longer increasing police efficiency because the capacity check occurred before the inmate count was brought back under 10k.

    Or at least that's what seems to be happening just from observing the graphs and microsims. I'd be curious to know what's actually happening under the hood. I'm honestly fine with how all of that works in terms of game balance alone, but it doesn't seem like it's all communicated very well to the player. PPP even states that there's supposedly a newspaper story specifically about prison overcrowding that's supposed to trigger. I haven't done any datamining of my own to verify that it exists, but I'm almost certain that I've never seen such a thing in-game.

    I'll need to dig more into this but the prison system seems half-baked. It doesn't seem to do nearly as much as it should at a glance and what's written about it in official sources seems to be wrong on a number of parts.

    Whether that was poor programming or political satire on Maxis' part is left as an exercise to the reader.

    • Like 2

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    From my own experience, prisons reduce citywide crime by about 20%. In some cities, they're more effective than the Neighborhood Watch ordinance. That's not bad for a building that doesn't require yearly funding.

    The main thing that dictates their effectiveness is the presence of an already effective police force. Prisons don't do much in cities that have sparse police coverage in the first place.

    • Like 1

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    I suspect that in the DOS (and perhaps MAC) version of the program the status/weather widget is likely of a similar construction to that which is used to assemble the map editing and city building tool panels. (Unconfirmed mind you)

    A detail with the tool panel for instance is that if you tab-out or click-out of the program it will not be displayed.

    (In city building mode prior to actually "starting" the city, the tool panel buttons are in a disabled state)

    Whereas in the Windows versions they just ended up using the bottom status bar (only displayed in city building mode, hidden again upon switching to map editing mode.. just in case that becomes a factor with the custom version).

    • Like 1

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    image.png.7f4b71679c5f872e0a0f1be6a889d026.png

    Floating status dialog is finished.

    I've set up a Trello board to track what I'm working on. Anyone interested in following along can view it here: https://trello.com/b/K1LSfbJM/sc2kfix

    • Like 1
    • Thanks 1

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    4 hours ago, araxestroy said:

    image.png.7f4b71679c5f872e0a0f1be6a889d026.png

    Floating status dialog is finished.

    I've set up a Trello board to track what I'm working on. Anyone interested in following along can view it here: https://trello.com/b/K1LSfbJM/sc2kfix

    The floating status dialogue looks great, definitely adds that bit of additional nostalgia outside of the DOS/MAC version.

    Though, when there's an on-going disaster, in the DOS/MAC version it would change the weather icon to an arrow, the image would serve as a "Go to" button (If the floating status dialogue is used it doesn't look like that functionality is present).

    EDIT: Investigating the "Go To" button case at present.

    • Like 2

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    One more aspect of the Win95 game that could stand to be cleaned up a bit is the Debug cheat menu:

    - "Add All Inventions" doesn't work. It tries to bring up the help screen (which itself causes an error on modern Windows).
    - "Add All Gifts" not only adds everything in the rewards menu, but it also adds all inventions as well as a $500k cash bonus. Those latter two effects arguably deserve to be removed, since they're already represented by other cheats (presuming that the one dedicated to inventions is fixed).
    - "Show Version Info" and "Graph Kludge" ought to be moved to an always-available menu, as there's no real reason for them to be "cheats." The Version Info also doesn't seem to show up correctly on modern Windows, or at least it isn't for me.

    • Like 2

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     
    2 hours ago, Sixfortyfive said:

    One more aspect of the Win95 game that could stand to be cleaned up a bit is the Debug cheat menu:

    - "Add All Inventions" doesn't work. It tries to bring up the help screen (which itself causes an error on modern Windows).
    - "Add All Gifts" not only adds everything in the rewards menu, but it also adds all inventions as well as a $500k cash bonus. Those latter two effects arguably deserve to be removed, since they're already represented by other cheats (presuming that the one dedicated to inventions is fixed).
    - "Show Version Info" and "Graph Kludge" ought to be moved to an always-available menu, as there's no real reason for them to be "cheats." The Version Info also doesn't seem to show up correctly on modern Windows, or at least it isn't for me.

    One of the code-related goals for Release 8 is making things like adding new menu items and changing the behaviour of existing ones a lot easier to do, as right now it's kind of a mess of repeated code and guesswork. I think once I have that working I'll do the following:

    • "Add All Inventions" will do exactly what it says on the tin.
    • "Add All Gifts" will also do exactly what it says on the tin.
    • "Add $500,000" will be split out into its own new debug menu item.
    • "Show Version Info" doesn't really do much but I'll probably put the sc2kfix version info in there as well.
    • "Graph Kludge" might get a better name, though that might just be something I'm thinking of because I actually used the word "kludge" the other day at work and no one under the age of 30 knew what I meant.
    • The Mac version of the debug menu has a few extra items (Reset Date, Reset Zones, Reset Money, and Game Go) that I will test the effects of and implement them. I think they'll be in Release 8.
    • I'll check the Windows 3.1 and DOS versions to see if there are any additional bits to add to debug menus as well.

    Thanks to @AF the floating status doodad's icon changes to a go-to button during disasters like in the original implementations. I've added an update notifier for new releases as well, so starting with Release 8 the main menu of the game will let you know if a new release is available. An advanced query dialog is also in the works to report various tile information for Alt+Query Tool.

    • Like 1
    • Thanks 2

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    This is incredible, how did I only find out about this now? Thank you for your work, this is absolutely what SC2K needs - and godspeed with your improvements in progress.

    • Like 1
    • Yes 1

    Formerly known as biff.

    YOU CAN'T CUT BACK ON FUNDING! YOU WILL REGRET THIS!

    The Comprehensive SimCity Music Collection V3.1 | SimCity 2000 Music ReTexture (not mine, I just think it's neat) | Uploader of the first SimCity 2000 file on the STEX

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    On 2/18/2025 at 5:23 PM, araxestroy said:

    Release 7 is here!

    Yippee! I'll have to check this out today!

    I haven't been on here in a little bit of time due to an ongoing family emergency and other IRL things (although I was on here one day last week to check out things), but now I finally have a day to rest and relax (pretty much a mental health day). I haven't had a chance to record any of the DOS sounds yet, but I'm thrilled to see that you have ported sounds from other ports of the game!

    On 2/20/2025 at 12:42 PM, araxestroy said:

    I wonder if I could rig this thing up to play MP3s, render all the MIDIs out using my SC-55, and add an optional "high quality music pack".

    That would be cool! I wonder if a lossless format like FLAC could be possible to implement, too.

    On a side note, the Sega Saturn port's soundtrack is pretty cool, too. The "Sim-Melody from SimCity 2000" Japanese album is also a lot of fun to listen to if you've never heard it before. Rather neat renditions!

    On 2/20/2025 at 12:42 PM, araxestroy said:

    Poll for everyone: Should I keep it so that the music plays in a predefined order as in the vanilla game and loops the same way, or should it shuffle after every loop? And should music play more frequently in general?

    If it wouldn't be difficult to implement, perhaps all of those options could be made available? I do like the idea of having a shuffle option (as much as I love the music, the predefined loop does get old after a while), but I also do like the thought of a more frequent option, too (which if I had to guess, it would be more like SC3K's and SC4's way of playing music?). Just an idea. *:)

    On 2/23/2025 at 4:58 AM, araxestroy said:

    I've set up a Trello board to track what I'm working on. Anyone interested in following along can view it here: https://trello.com/b/K1LSfbJM/sc2kfix

    This is cool! :8) (I've used Trello before, and it is quite handy!)

     

    8 hours ago, trar said:

    This is incredible, how did I only find out about this now? Thank you for your work, this is absolutely what SC2K needs - and godspeed with your improvements in progress.

    Agreed! I was blown away when I was notified about this topic originally. I almost feel like a kid in either a candy or a toy store when I read all of the new updates in this thread (same with SC4 modding, too)! :lol: This game and SC4 literally helped define my childhood, so all of these QoL improvements are so cool to see.

    • Like 2

    Once you play with NAM installed, one simply cannot go back!

    I'm waiting for the day when someone makes a Faber College lot for SimCity 4  :lol:

    IMG_3716.jpg.7fe0b78e164e258bac5afb32dc9f9588.jpg

     

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    18 hours ago, TogaMasterJohn said:

    Agreed! I was blown away when I was notified about this topic originally. I almost feel like a kid in either a candy or a toy store when I read all of the new updates in this thread (same with SC4 modding, too)! :lol: This game and SC4 literally helped define my childhood, so all of these QoL improvements are so cool to see.

    Oh for sure, it's a childhood game for me too. Now all we need is a similar tool for the Network Edition. I can't think of any other multiplayer citysims off the top of my head, so it would still have some appeal!

    • Like 2

    Formerly known as biff.

    YOU CAN'T CUT BACK ON FUNDING! YOU WILL REGRET THIS!

    The Comprehensive SimCity Music Collection V3.1 | SimCity 2000 Music ReTexture (not mine, I just think it's neat) | Uploader of the first SimCity 2000 file on the STEX

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Network Edition support is unfortunately highly unlikely anytime soon as that would end up being a completely different project. There's a number of known issues with that game that are "solved" by a patch from over a decade ago, the source of which was never released, so I'd basically have to start from scratch. Also the networking API it uses has been deprecated since Windows Vista, and was never particularly good to begin with, so I would likely end up writing an entirely new network transport for the game. Plus on top of all that any bugfixes would have to be majorly recreated and most of the reverse engineering work I've done wouldn't be applicable to it.

    That last bit is the reason why the 1995 CD Collection version of the game isn't getting any of the gameplay modding etc. that I've been working on. Reverse engineering the most common version of the game is time consuming enough.

    As far as the reverse engineering work is going though I've figured out where in memory the game keeps loaded sprites and the format that it puts them in. Unfortunately, much like the tile IDs, Maxis really packed everything in as best as they could and left no gaps in the sprite data for me to jam anything new in. Which is kind of a bummer, since I had been thinking about that idea of adding agricultural zones and have been trying to think of ways to hook everything together that would be needed for that.

    • Like 3

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Ah well, a man can dream. Your work is still very appreciated.

    • Yes 2

    Formerly known as biff.

    YOU CAN'T CUT BACK ON FUNDING! YOU WILL REGRET THIS!

    The Comprehensive SimCity Music Collection V3.1 | SimCity 2000 Music ReTexture (not mine, I just think it's neat) | Uploader of the first SimCity 2000 file on the STEX

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Beyond issues that are unique to the networking component of Network Edition, there's also the issue of other parts of the game being either broken or omitted from that version altogether. Like it doesn't have a terrain editor IIRC, and weather effects that change from month to month in other versions are just frozen in stasis in that one.

    In general, it was like a few small things would get broken or lost in translation every time the game was ported to a new platform. It's part of the reason why I've never really agreed with calling the Win95 version of the game the "definitive" edition in the first place. Yeah, you can natively run it at higher resolutions and faster speeds, but as this thread demonstrates alone, there's a whole lot of little stuff that just doesn't work right even after accounting for the extra hurdles to get it running on modern operating systems.

    It's been a while since I checked, but I think even the terrain editor is slightly off in Win95 compared to Mac/DOS. Like I think you're more likely to observe repeat patterns when automatically generating terrain, and extending land to its highest elevation doesn't always work smoothly.

    • Like 1

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    I haven't really noticed any patterns in the Win95 version of the terrain generator but I suppose if it's that big of a deal I could try to hook up a better random number generator. That could end up affecting parts of the simulation engine though as the game uses at least three different PRNGs throughout the entire code for all sorts of purposes.

    The "Raise Terrain" tool in the DOS version's terrain editor seems to just jam terrain up to a plateau of about 5 tiles above the water table whereas the Win95 version's is a lot gentler. I haven't tested the Mac version.

    • Like 2

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Attention those who like building from source: I just pushed a commit that implements a music engine thread so the game won't freeze when loading a new song. I would love it if some folks could test it a bit because I'd really like to have it enabled by default in Release 8.

    For anyone who does test it out, if you run into issues, recompile with MCI_DEBUG defined as MCI_DEBUG_THREAD and the console and sc2kfix.log will fill with a bunch of debugging info that will be helpful for me to figure out what might be causing said issues. It's not a particularly complex implementation -- MusicPlay and MusicStop in the game are hooked to post messages to the music thread which asynchronously performs the MCI calls. It's just a new bit of multithreaded code in an originally singlethreaded environment so who knows what kind of weirdness might arise.

    • Like 2

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Hmmmm, now that sounds interesting.

    Added to the queue for testing.

    • Like 1

    Share this post


    Link to post
    Share on other sites

    ×

    Thank You for the Continued Support!

    Simtropolis depends on donations to fund site maintenance costs.
    Without your support, we just would not be in our 24th year online!  You really help make this a great community. *:thumb:

    But we still need your support to stay online. If you're able to, please consider a donation to help us stay up and running. This helps sustain a platform where we can share our community creations for years to come.

    Make a Donation, Get a Gift!

    Expand your city with the best from the Simtropolis Exchange.
    Make a Donation and get one or all three discs today!

    STEX Collections

    By way of a "Thank You" gift, we'd like to send you our STEX Collector's DVD. It's some of the best buildings, lots, maps and mods collected for you over the years. Check out the STEX Collections for more info.

    Each donation helps keep Simtropolis online, open and free!

    Thank you for reading and enjoy the site!

    More About STEX Collections