SimCity 2000 Bugs: Difference between revisions

From sc2k-reverse
Jump to navigationJump to search
AF (talk | contribs)
AF (talk | contribs)
 
Line 38: Line 38:
===Simulation remains suspended after cancelling program exit [FIXED]===
===Simulation remains suspended after cancelling program exit [FIXED]===
If you attempted to exit the game but pressed cancel, the simulation would remain suspended; there was no way of originally getting out of this state except for restarting the program.
If you attempted to exit the game but pressed cancel, the simulation would remain suspended; there was no way of originally getting out of this state except for restarting the program.
===General Query would fail on objects placed at X coordinate 127 [FIXED]===
If for instance you attempted to query a road tile (as an example) that was present at X coordinate 127, it would only get so far as to display the Traffic label and then halt.
The rest of the painting operation would fail due to it hitting an out-of-bounds case within the XTRF array as it tried to check the X + 1 case (128).
The root cause was down to a bad check whereas it was checking against the maximum extent of 128 rather than 127.

Latest revision as of 11:43, 22 December 2025

Different versions of Simcity 2000 have different bugs.

Mac OS

EQ decay causing negative overflow

LandValuePollutionMapScan Bug

DOS

Industrial Connex Bug

EQ decay causing negative overflow

LandValuePollutionMapScan Bug

Windows 3.11

Military Zone development

Military Base - Army

Military Base - No Naval Base possibility

Industrial Connex Bug

EQ decay causing negative overflow

LandValuePollutionMapScan Bug

Simulation remains suspended after cancelling program exit

Windows 95

Military Zone development [Fixed]

Due to an oversight with how the RCI Developer (SimulationPlaceBuilding?) operates the Simulator is unable to build or develop any structures inside a Military zoned tile since the game checks whether the player is able to develop there, which it cannot so it always fails. Except for a single runway for Airbases.

Military Base - Army [Fixed]

Although the Army Base is a possibility for the SimulationProposeMilitaryBase function, it does not handle the setup and preparation of the selected area correctly. The function is entirely missing the placement of roads and any runway cross-tiles as correctly seen in the DOS port and Apple version. Instead a 8x8 zoned area is placed down like the air force base and the function is done.

Military Base - No Naval Base possibility [Fixed]

Naval Bases as a possible outcome for the SimulationProposeMilitaryBase function simply doesn't exist and there's no possibility for the city for be selected as a site for a Naval Base.

Industrial Connex Bug [Fixed]

Existing land based Industrial Connections such as Railroads and Highways are not properly reloaded by the Simulator when loading a saved game. This causes all industrial zones in the city to immediately hit their industrial caps upon load for sufficiently large cities and crash the economy.

EQ decay causing negative overflow

In cities with no Schools or Colleges and no Pro-Reading Ordinance, over time and with extreme population stability the decay in EQ will become so severe that it causes a negative overflow resulting in the EQ subsystem having unintended outcomes such as an average EQ of 12948.

LandValuePollutionMapScan Bug

TODO: Explain this, need more reverse-devs to look at 0x4CC6F8 in SimulationPollutionTerrainLandValueScan(0x46A840)

The Simcity 2000 Simulator for Pollution, Land Value, Crime, and etc uses many internal hidden "maps" in order to compute and track the last value for pollution on the map. One of these map arrays can get "confused" due to the different scale these internal hidden maps work since they're re-used for multiple purposes. This can result in instances of very high or low land value carrying over from previously calculated areas of high pollution resulting in erroneously high land value at 2x the X coordinate and 2x the Y coordinate.

Simulation remains suspended after cancelling program exit [FIXED]

If you attempted to exit the game but pressed cancel, the simulation would remain suspended; there was no way of originally getting out of this state except for restarting the program.

General Query would fail on objects placed at X coordinate 127 [FIXED]

If for instance you attempted to query a road tile (as an example) that was present at X coordinate 127, it would only get so far as to display the Traffic label and then halt.

The rest of the painting operation would fail due to it hitting an out-of-bounds case within the XTRF array as it tried to check the X + 1 case (128).

The root cause was down to a bad check whereas it was checking against the maximum extent of 128 rather than 127.