<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sc2kfix.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=NotAnyoneSpecial</id>
	<title>sc2k-reverse - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sc2kfix.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=NotAnyoneSpecial"/>
	<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/Special:Contributions/NotAnyoneSpecial"/>
	<updated>2026-04-07T16:26:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Pollution_Table&amp;diff=777</id>
		<title>Pollution Table</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Pollution_Table&amp;diff=777"/>
		<updated>2025-03-29T18:47:32Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MemoryLocation|004E95B8+TileId}}&amp;lt;br&amp;gt;&lt;br /&gt;
This is Pollution output per tile, not per structure so larger buildings can pollute much more. Radioactive tiles are handled in a special way and do not appear in the table, they pollute &amp;quot;200&amp;quot; points of pollution every cycle.&amp;lt;br&amp;gt;Tiles not listed, have a value of 0. &lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Structure Pollution Table&lt;br /&gt;
|-&lt;br /&gt;
! Structure !! Type !! TileID !!Pollution&lt;br /&gt;
|-&lt;br /&gt;
| Stadium || Services || 0x00D7 || 4&lt;br /&gt;
|-&lt;br /&gt;
| Prison || Services || 0x00D8 || 10&lt;br /&gt;
|-&lt;br /&gt;
| Water Pump || Services || 0x00DC|| 2&lt;br /&gt;
|-&lt;br /&gt;
| Water Treatment || Services || 0x00F4|| 10&lt;br /&gt;
|-&lt;br /&gt;
| Bus Depot || Services ||0x00EC|| 3&lt;br /&gt;
|-&lt;br /&gt;
| Train Depot || Services || 0x00ED|| 4&lt;br /&gt;
|-&lt;br /&gt;
| Subway Station || Services || 0x00E9|| 5&lt;br /&gt;
|-&lt;br /&gt;
| Seaport Pier || Seaport || 0x00DF || 10&lt;br /&gt;
|-&lt;br /&gt;
| Seaport Crane || Seaport || 0x00E0 || 5&lt;br /&gt;
|-&lt;br /&gt;
| Seaport Warehouse || Seaport || 0x00E3 || 2&lt;br /&gt;
|-&lt;br /&gt;
| Seaport Loading Bay || Seaport || 0x00F0 || 2&lt;br /&gt;
|-&lt;br /&gt;
| Seaport Cargo Yard || Seaport || 0x00F2 || 10&lt;br /&gt;
|-&lt;br /&gt;
| Airport Runway (straight) || Airport || 0x00DD || 10&lt;br /&gt;
|-&lt;br /&gt;
| Airport Runway (cross) || Airport || 0x00DE || 10&lt;br /&gt;
|-&lt;br /&gt;
| Airport Building 1 || Airport || 0x00E4 || 5&lt;br /&gt;
|-&lt;br /&gt;
| Airport Building 2 || Airport || 0x00E5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| Tarmac (with plane) || Airport || 0x00E6 || 10&lt;br /&gt;
|-&lt;br /&gt;
| Airport Hanger || Airport || 0x00F6 || 10&lt;br /&gt;
|-&lt;br /&gt;
| Airport Parking Lot || Airport || 0x00EE || 2&lt;br /&gt;
|-&lt;br /&gt;
| F-15b Fighter Jet || Military || 0x00E7|| 10&lt;br /&gt;
|-&lt;br /&gt;
| Military Parking Lot || Military || 0x00EF || 2&lt;br /&gt;
|-&lt;br /&gt;
| &#039;Top Secret&#039; || Military || 0x00F1 || 2&lt;br /&gt;
|-&lt;br /&gt;
| Coal Power || Power || 0x00CF || 50&lt;br /&gt;
|-&lt;br /&gt;
| Oil Power || Power || 0x00CA|| 25&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || Power || 0x00C9 || 10&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || Power || 0x00CB|| 2&lt;br /&gt;
|-&lt;br /&gt;
| Fusion Power || Power || 0x00CE || 2&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || Arcology || 0x00FB|| 25&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || Arcology || 0x00FC|| 10&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || Arcology || 0x00FD|| 12&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || Arcology || 0x00FE||15&lt;br /&gt;
|-&lt;br /&gt;
| 1x1 Industrial Zoned Building || Industrial ||0x84 - 0x87|| 6&lt;br /&gt;
|-&lt;br /&gt;
| 2x2 Industrial Zoned &#039;Small&#039; Building || Industrial ||0x9E - 0xA1|| 12&lt;br /&gt;
|-&lt;br /&gt;
| 2x2 Industrial Zoned &#039;Large&#039; Building || Industrial ||0xA2 - 0xA5|| 18&lt;br /&gt;
|-&lt;br /&gt;
| 3x3 Industrial Zoned Building || Industrial || 0xBD - 0xC1|| 24&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=776</id>
		<title>User:NotAnyoneSpecial</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=776"/>
		<updated>2025-03-29T14:34:34Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello world!&lt;br /&gt;
{{InfoboxTile|Name=Construction 2|TileSprite=1195.png|TileID=0xC3|ZoningType=None|Something=0xABCD}}&lt;br /&gt;
==public scratchpad (needs formal writeup)==&lt;br /&gt;
[[File:City Center MiniMap.png|thumb|City Center correctly indicated with Red Cross at 62, 62 on minimap display for Windows 3.11]]&lt;br /&gt;
[[File:City Center Display.png|thumb|City Center displayed with onmap Land value data display from the map&#039;s actual center.]]&lt;br /&gt;
===Per Zone Formulas===&lt;br /&gt;
General structure: BaseBeauty + CityCenter_Bonus + ZoneSpecialBonus (Res: Low Pop Density, Com: High Pop Density, Ind: No Density Restriction) - Pollute - Crime &lt;br /&gt;
====Res====&lt;br /&gt;
2x2 cell Residential Land Value &amp;amp; No zone (0046AE09) = (64-CC_Dist)/2 - ( Pollution / 5 ) - ( Crime / 3 ) + +21 for (64&amp;gt;Population Density) + NaturalBeauty_ResCom&lt;br /&gt;
====Com====&lt;br /&gt;
2x2 cell Commercial Land Value (0046AEF9) = 64-CC_Dist - ( Pollution / 4 ) - ( Crime / 3 ) + (Population Density / 3) + NaturalBeauty_ResCom&lt;br /&gt;
====Ind====&lt;br /&gt;
2x2 cell Industrial Land Value (0046AFE7) = (64-CC_Dist)/4 - ( Pollution / 16 ) - ( Crime / 4 ) + +21 for dense industry + NaturalBeauty_Ind&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
===NaturalBeauty_ResCom===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*IsTile case select?&lt;br /&gt;
**for each BigPark tile: +40&lt;br /&gt;
**for each Tree tile&amp;amp;SmallPark: +20&lt;br /&gt;
**for each rubble&amp;amp;radioactivity: -20&lt;br /&gt;
**for each bare land: +4, &lt;br /&gt;
*for each TerrainSlope: +12, &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===NaturalBeauty_Industrial===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===Crimes===&lt;br /&gt;
Sum 2x2 Cell = Population Density- (Police Power / 2) - (Land Value / 4) + +64 for Legalized Gambling (16 x 4 tiles per parcel/cell)&lt;br /&gt;
===Pollution===&lt;br /&gt;
neighboringDirections is: 1 for each valid direction plus the tile itself for &amp;quot;averaging&amp;quot;, usually 5 except on edges.&amp;lt;br&amp;gt;Pollution Divisor is: 4 - wIndustrialMixPollutionBonus [-1 to 2] + wSewerBonus[0 or 1] + PollutionControls[0 or 1]&lt;br /&gt;
&lt;br /&gt;
Sum 2x2 cell = 2 x ([last_cycle_polluteVal + XTRF_Map/5 + RawPollution &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[Pollution Table|TileID]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt; for each tile + 200 for each Radioactive]) / (neighboringDirections+PollutionDivisor)&lt;br /&gt;
===Density===&lt;br /&gt;
Sum 4x4 cell = TileDensity/10 [1,2,3,4] or non-RCI=2 (Density: &amp;quot;20 Sims&amp;quot;/tile) or Arcology=12 (Density: &amp;quot;120 Sims&amp;quot;/tile)&lt;br /&gt;
===ROG===&lt;br /&gt;
Sum 4x4 cell = 127 -/+ Pop Change in DensityVal&lt;br /&gt;
===OVERRIDE FIX===&lt;br /&gt;
Apply {{memoryLocation|@0046AAAE}}&lt;br /&gt;
&lt;br /&gt;
The temporary &amp;quot;ResCom_beauty&amp;quot; array isn&#039;t properly cleared/reinitalized and is left in a dirty state after processing the pollution simulator or from last crime sim. This properly force clears the whole array.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
jmp 0046B68E                  //JUMP TO SOMEWHERE OUTSIDE FUNCTION.&lt;br /&gt;
mov ebp,[ebx*4+004CC4F0]      //dwMapXBLD&lt;br /&gt;
movsx edi,si&lt;br /&gt;
mov ecx,[ebx*4+004CC6F8]      //dwNaturalBeauty_ResCom&lt;br /&gt;
mov word ptr [ecx+edi*2],0000&lt;br /&gt;
JMP 0046AAB5                  //JUMP BACK INTO FUNCTION.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Apply {{memoryLocation|@0046AADF}}&lt;br /&gt;
&lt;br /&gt;
This array is at the wrong scale, it should be 1/4thed. This whole part of the simulation is completely bugged and nonfunctional. All Zoned tiles should start with a 40 ($41,000 per acre) base for every tile above lower income homes (0x70) which is all development.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
mov word ptr [ecx+edi*2],0028 //literally doesn&#039;t work in almost all cases because operating it&#039;s &amp;quot;out of bounds&amp;quot; at 128x128 not 32x32&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Load Func===&lt;br /&gt;
00433A50&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=775</id>
		<title>User:NotAnyoneSpecial</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=775"/>
		<updated>2025-03-29T12:03:20Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello world!&lt;br /&gt;
{{InfoboxTile|Name=Construction 2|TileSprite=1195.png|TileID=0xC3|ZoningType=None|Something=0xABCD}}&lt;br /&gt;
==public scratchpad (needs formal writeup)==&lt;br /&gt;
[[File:City Center MiniMap.png|thumb|City Center correctly indicated with Red Cross at 62, 62 on minimap display for Windows 3.11]]&lt;br /&gt;
[[File:City Center Display.png|thumb|City Center displayed with onmap Land value data display from the map&#039;s actual center.]]&lt;br /&gt;
===Per Zone Formulas===&lt;br /&gt;
General structure: BaseBeauty + CityCenter_Bonus + ZoneSpecialBonus (Res: Low Pop Density, Com: High Pop Density, Ind: No Density Restriction) - Pollute - Crime &lt;br /&gt;
====Res====&lt;br /&gt;
2x2 cell Residential Land Value &amp;amp; No zone (0046AE09) = (64-CC_Dist)/2 - ( Pollution / 5 ) - ( Crime / 3 ) + +21 for (64&amp;gt;Population Density) + NaturalBeauty_ResCom&lt;br /&gt;
====Com====&lt;br /&gt;
2x2 cell Commercial Land Value (0046AEF9) = 64-CC_Dist - ( Pollution / 4 ) - ( Crime / 3 ) + (Population Density / 3) + NaturalBeauty_ResCom&lt;br /&gt;
====Ind====&lt;br /&gt;
2x2 cell Industrial Land Value (0046AFE7) = (64-CC_Dist)/4 - ( Pollution / 16 ) - ( Crime / 4 ) + +21 for dense industry + NaturalBeauty_Ind&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
===NaturalBeauty_ResCom===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*IsTile case select?&lt;br /&gt;
**for each BigPark tile: +40&lt;br /&gt;
**for each Tree tile&amp;amp;SmallPark: +20&lt;br /&gt;
**for each rubble&amp;amp;radioactivity: -20&lt;br /&gt;
**for each bare land: +4, &lt;br /&gt;
*for each TerrainSlope: +12, &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===NaturalBeauty_Industrial===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===Crimes===&lt;br /&gt;
Sum 2x2 Cell = Population Density- (Police Power / 2) - (Land Value / 4) + +64 for Legalized Gambling (16 x 4 tiles per parcel/cell)&lt;br /&gt;
===Pollution===&lt;br /&gt;
Sum 2x2 cell = [last_cycle + traffic/5 + all 4 inside tiles RawPollution + 200 for each Radioactive] average around / Pollution divisor&lt;br /&gt;
===Density===&lt;br /&gt;
Sum 4x4 cell = TileDensity/10 [1,2,3,4] or non-RCI=2 (Density: &amp;quot;20 Sims&amp;quot;/tile) or Arcology=12 (Density: &amp;quot;120 Sims&amp;quot;/tile)&lt;br /&gt;
===ROG===&lt;br /&gt;
Sum 4x4 cell = 127 -/+ Pop Change in DensityVal&lt;br /&gt;
===OVERRIDE FIX===&lt;br /&gt;
Apply {{memoryLocation|@0046AAAE}}&lt;br /&gt;
&lt;br /&gt;
The temporary &amp;quot;ResCom_beauty&amp;quot; array isn&#039;t properly cleared/reinitalized and is left in a dirty state after processing the pollution simulator or from last crime sim. This properly force clears the whole array.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
jmp 0046B68E                  //JUMP TO SOMEWHERE OUTSIDE FUNCTION.&lt;br /&gt;
mov ebp,[ebx*4+004CC4F0]      //dwMapXBLD&lt;br /&gt;
movsx edi,si&lt;br /&gt;
mov ecx,[ebx*4+004CC6F8]      //dwNaturalBeauty_ResCom&lt;br /&gt;
mov word ptr [ecx+edi*2],0000&lt;br /&gt;
JMP 0046AAB5                  //JUMP BACK INTO FUNCTION.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Apply {{memoryLocation|@0046AADF}}&lt;br /&gt;
&lt;br /&gt;
This array is at the wrong scale, it should be 1/4thed. This whole part of the simulation is completely bugged and nonfunctional. All Zoned tiles should start with a 40 ($41,000 per acre) base for every tile above lower income homes (0x70) which is all development.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
mov word ptr [ecx+edi*2],0028 //literally doesn&#039;t work in almost all cases because operating it&#039;s &amp;quot;out of bounds&amp;quot; at 128x128 not 32x32&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Load Func===&lt;br /&gt;
00433A50&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=774</id>
		<title>User:NotAnyoneSpecial</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=774"/>
		<updated>2025-03-29T12:01:18Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello world!&lt;br /&gt;
{{InfoboxTile|Name=Construction 2|TileSprite=1195.png|TileID=0xC3|ZoningType=None|Something=0xABCD}}&lt;br /&gt;
==public scratchpad (needs formal writeup)==&lt;br /&gt;
[[File:City Center MiniMap.png|thumb|City Center correctly indicated with Red Cross at 62, 62 on minimap display for Windows 3.11]]&lt;br /&gt;
[[File:City Center Display.png|thumb|City Center displayed with onmap Land value data display from the map&#039;s actual center.]]&lt;br /&gt;
===Per Zone Formulas===&lt;br /&gt;
General structure: BaseBeauty + CityCenter_Bonus + ZoneSpecialBonus (Res: Low Pop Density, Com: High Pop Density, Ind: No Density Restriction) - Pollute - Crime &lt;br /&gt;
====Res====&lt;br /&gt;
2x2 cell Residential Land Value &amp;amp; No zone (0046AE09) = (64-CC_Dist)/2 - ( Pollution / 5 ) - ( Crime / 3 ) + +21 for (64&amp;gt;Population Density) + NaturalBeauty_ResCom&lt;br /&gt;
====Com====&lt;br /&gt;
2x2 cell Commercial Land Value (0046AEF9) = 64-CC_Dist - ( Pollution / 4 ) - ( Crime / 3 ) + (Population Density / 3) + NaturalBeauty_ResCom&lt;br /&gt;
====Ind====&lt;br /&gt;
2x2 cell Industrial Land Value (0046AFE7) = (64-CC_Dist)/4 - ( Pollution / 16 ) - ( Crime / 4 ) + +21 for dense industry + NaturalBeauty_Ind&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
===NaturalBeauty_ResCom===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*IsTile case select?&lt;br /&gt;
**for each BigPark tile: +40&lt;br /&gt;
**for each Tree tile&amp;amp;SmallPark: +20&lt;br /&gt;
**for each rubble&amp;amp;radioactivity: -20&lt;br /&gt;
**for each bare land: +4, &lt;br /&gt;
*for each TerrainSlope: +12, &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===NaturalBeauty_Industrial===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===Crimes===&lt;br /&gt;
Sum 2x2 Cell = Population Density- (Police Power / 2) - (Land Value / 4) + +64 for Legalized Gambling (16 x 4 tiles per parcel/cell)&lt;br /&gt;
===Pollution===&lt;br /&gt;
Sum 2x2 cell = [last_cycle + traffic/5 + all 4 inside tiles RawPollution + 200 for each Radioactive] average around / Pollution divisor&lt;br /&gt;
===Density===&lt;br /&gt;
Sum 4x4 cell = TileDensity/10 [1,2,3,4] or non-RCI=2 (Density: &amp;quot;20 Sims&amp;quot;/tile) or Arcology=12 (Density: &amp;quot;120 Sims&amp;quot;/tile)&lt;br /&gt;
===ROG===&lt;br /&gt;
Sum 4x4 cell = 127 -/+ Pop Change in DensityVal&lt;br /&gt;
===OVERRIDE FIX===&lt;br /&gt;
Apply {{memoryLocation|@0046AAAE}}&lt;br /&gt;
The temporary &amp;quot;ResCom_beauty&amp;quot; array isn&#039;t properly cleared/reinitalized and is left in a dirty state after processing the pollution simulator. This force clears the whole array&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
jmp 0046B68E                  //JUMP TO SOMEWHERE OUTSIDE FUNCTION.&lt;br /&gt;
mov ebp,[ebx*4+004CC4F0]      //dwMapXBLD&lt;br /&gt;
movsx edi,si&lt;br /&gt;
mov ecx,[ebx*4+004CC6F8]      //dwNaturalBeauty_ResCom&lt;br /&gt;
mov word ptr [ecx+edi*2],0000&lt;br /&gt;
JMP 0046AAB5                  //JUMP BACK INTO FUNCTION.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Apply {{memoryLocation|@0046AADF}}&lt;br /&gt;
&lt;br /&gt;
This array is at the wrong scale, it should be 1/4thed. This whole part of the simulation is completely bugged and nonfunctional. All Zoned tiles should start with a 40 ($41,000 per acre) base for every tile above lower income homes (0x70) which is all development.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
mov word ptr [ecx+edi*2],0028 //literally doesn&#039;t work in almost all cases because operating it&#039;s &amp;quot;out of bounds&amp;quot; at 128x128 not 32x32&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Load Func===&lt;br /&gt;
00433A50&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=773</id>
		<title>User:NotAnyoneSpecial</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=773"/>
		<updated>2025-03-28T23:03:52Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello world!&lt;br /&gt;
{{InfoboxTile|Name=Construction 2|TileSprite=1195.png|TileID=0xC3|ZoningType=None|Something=0xABCD}}&lt;br /&gt;
==public scratchpad (needs formal writeup)==&lt;br /&gt;
[[File:City Center MiniMap.png|thumb|City Center correctly indicated with Red Cross at 62, 62 on minimap display for Windows 3.11]]&lt;br /&gt;
[[File:City Center Display.png|thumb|City Center displayed with onmap Land value data display from the map&#039;s actual center.]]&lt;br /&gt;
===Per Zone Formulas===&lt;br /&gt;
General structure: BaseBeauty + CityCenter_Bonus + ZoneSpecialBonus (Res: Low Pop Density, Com: High Pop Density, Ind: No Density Restriction) - Pollute - Crime &lt;br /&gt;
====Res====&lt;br /&gt;
2x2 cell Residential Land Value &amp;amp; No zone (0046AE09) = (64-CC_Dist)/2 - ( Pollution / 5 ) - ( Crime / 3 ) + +21 for (64&amp;gt;Population Density) + NaturalBeauty_ResCom&lt;br /&gt;
====Com====&lt;br /&gt;
2x2 cell Commercial Land Value (0046AEF9) = 64-CC_Dist - ( Pollution / 4 ) - ( Crime / 3 ) + (Population Density / 3) + NaturalBeauty_ResCom&lt;br /&gt;
====Ind====&lt;br /&gt;
2x2 cell Industrial Land Value (0046AFE7) = (64-CC_Dist)/4 - ( Pollution / 16 ) - ( Crime / 4 ) + +21 for dense industry + NaturalBeauty_Ind&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
===NaturalBeauty_ResCom===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*IsTile case select?&lt;br /&gt;
**for each BigPark tile: +40&lt;br /&gt;
**for each Tree tile&amp;amp;SmallPark: +20&lt;br /&gt;
**for each rubble&amp;amp;radioactivity: -20&lt;br /&gt;
**for each bare land: +4, &lt;br /&gt;
*for each TerrainSlope: +12, &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===NaturalBeauty_Industrial===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===Crimes===&lt;br /&gt;
Sum 2x2 Cell = Population Density- (Police Power / 2) - (Land Value / 4) + +64 for Legalized Gambling (16 x 4 tiles per parcel/cell)&lt;br /&gt;
===Pollution===&lt;br /&gt;
Sum 2x2 cell = [last_cycle + traffic/5 + all 4 inside tiles RawPollution + 200 for each Radioactive] average around / Pollution divisor&lt;br /&gt;
===Density===&lt;br /&gt;
Sum 4x4 cell = TileDensity/10 [1,2,3,4] or non-RCI=2 (Density: &amp;quot;20 Sims&amp;quot;/tile) or Arcology=12 (Density: &amp;quot;120 Sims&amp;quot;/tile)&lt;br /&gt;
===ROG===&lt;br /&gt;
Sum 4x4 cell = 127 -/+ Pop Change in DensityVal&lt;br /&gt;
===OVERRIDE FIX===&lt;br /&gt;
APPLY @ 0046AAAE&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
jmp 0046B68E&lt;br /&gt;
mov ebp,[ebx*4+004CC4F0]&lt;br /&gt;
movsx edi,si&lt;br /&gt;
mov ecx,[ebx*4+004CC6F8]&lt;br /&gt;
mov word ptr [ecx+edi*2],0000&lt;br /&gt;
JMP 0046AAB5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
APPLY @ 0046AADF&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
mov word ptr [ecx+edi*2],0000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Load Func===&lt;br /&gt;
00433A50&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=772</id>
		<title>User:NotAnyoneSpecial</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=772"/>
		<updated>2025-03-28T22:49:29Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello world!&lt;br /&gt;
{{InfoboxTile|Name=Construction 2|TileSprite=1195.png|TileID=0xC3|ZoningType=None|Something=0xABCD}}&lt;br /&gt;
==public scratchpad (needs formal writeup)==&lt;br /&gt;
[[File:City Center MiniMap.png|thumb|City Center correctly indicated with Red Cross at 62, 62 on minimap display for Windows 3.11]]&lt;br /&gt;
[[File:City Center Display.png|thumb|City Center displayed with onmap Land value data display from the map&#039;s actual center.]]&lt;br /&gt;
===Per Zone Formulas===&lt;br /&gt;
General structure: BaseBeauty + CityCenter_Bonus + ZoneSpecialBonus (Res: Low Pop Density, Com: High Pop Density, Ind: No Density Restriction) - Pollute - Crime &lt;br /&gt;
====Res====&lt;br /&gt;
2x2 cell Residential Land Value &amp;amp; No zone (0046AE09) = (64-CC_Dist)/2 - ( Pollution / 5 ) - ( Crime / 3 ) + +21 for (64&amp;gt;Population Density) + NaturalBeauty_ResCom&lt;br /&gt;
====Com====&lt;br /&gt;
2x2 cell Commercial Land Value (0046AEF9) = 64-CC_Dist - ( Pollution / 4 ) - ( Crime / 3 ) + (Population Density / 3) + NaturalBeauty_ResCom&lt;br /&gt;
====Ind====&lt;br /&gt;
2x2 cell Industrial Land Value (0046AFE7) = (64-CC_Dist)/4 - ( Pollution / 16 ) - ( Crime / 4 ) + +21 for dense industry + NaturalBeauty_Ind&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
===NaturalBeauty_ResCom===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*IsTile case select?&lt;br /&gt;
**for each BigPark tile: +40&lt;br /&gt;
**for each Tree tile&amp;amp;SmallPark: +20&lt;br /&gt;
**for each rubble&amp;amp;radioactivity: -20&lt;br /&gt;
**for each bare land: +4, &lt;br /&gt;
*for each TerrainSlope: +12, &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===NaturalBeauty_Industrial===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===Crimes===&lt;br /&gt;
Sum 2x2 Cell = Population Density- (Police Power / 2) - (Land Value / 4) + +64 for Legalized Gambling (16 x 4 tiles per parcel/cell)&lt;br /&gt;
===Pollution===&lt;br /&gt;
Sum 2x2 cell = [last_cycle + traffic/5 + all 4 inside tiles RawPollution + 200 for each Radioactive] average around / Pollution divisor&lt;br /&gt;
===Density===&lt;br /&gt;
Sum 4x4 cell = TileDensity/10 [1,2,3,4] or non-RCI=2 (Density: &amp;quot;20 Sims&amp;quot;/tile) or Arcology=12 (Density: &amp;quot;120 Sims&amp;quot;/tile)&lt;br /&gt;
===ROG===&lt;br /&gt;
Sum 4x4 cell = 127 -/+ Pop Change in DensityVal&lt;br /&gt;
===OVERRIDE FIX===&lt;br /&gt;
APPLY @ 0046B68E&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
jmp 0046B68E&lt;br /&gt;
mov ebp,[ebx*4+004CC4F0]&lt;br /&gt;
movsx edi,si&lt;br /&gt;
mov ecx,[ebx*4+004CC6F8]&lt;br /&gt;
mov word ptr [ecx+edi*2],0000&lt;br /&gt;
JMP 0046AAB5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
APPLY @ 0046AADF&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
mov word ptr [ecx+edi*2],0000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Load Func===&lt;br /&gt;
00433A50&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=771</id>
		<title>User:NotAnyoneSpecial</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=771"/>
		<updated>2025-03-28T22:44:58Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello world!&lt;br /&gt;
{{InfoboxTile|Name=Construction 2|TileSprite=1195.png|TileID=0xC3|ZoningType=None|Something=0xABCD}}&lt;br /&gt;
==public scratchpad (needs formal writeup)==&lt;br /&gt;
[[File:City Center MiniMap.png|thumb|City Center correctly indicated with Red Cross at 62, 62 on minimap display for Windows 3.11]]&lt;br /&gt;
[[File:City Center Display.png|thumb|City Center displayed with onmap Land value data display from the map&#039;s actual center.]]&lt;br /&gt;
===Per Zone Formulas===&lt;br /&gt;
General structure: BaseBeauty + CityCenter_Bonus + ZoneSpecialBonus (Res: Low Pop Density, Com: High Pop Density, Ind: No Density Restriction) - Pollute - Crime &lt;br /&gt;
====Res====&lt;br /&gt;
2x2 cell Residential Land Value &amp;amp; No zone (0046AE09) = (64-CC_Dist)/2 - ( Pollution / 5 ) - ( Crime / 3 ) + +21 for (64&amp;gt;Population Density) + NaturalBeauty_ResCom&lt;br /&gt;
====Com====&lt;br /&gt;
2x2 cell Commercial Land Value (0046AEF9) = 64-CC_Dist - ( Pollution / 4 ) - ( Crime / 3 ) + (Population Density / 3) + NaturalBeauty_ResCom&lt;br /&gt;
====Ind====&lt;br /&gt;
2x2 cell Industrial Land Value (0046AFE7) = (64-CC_Dist)/4 - ( Pollution / 16 ) - ( Crime / 4 ) + +21 for dense industry + NaturalBeauty_Ind&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
===NaturalBeauty_ResCom===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*IsTile case select?&lt;br /&gt;
**for each BigPark tile: +40&lt;br /&gt;
**for each Tree tile&amp;amp;SmallPark: +20&lt;br /&gt;
**for each rubble&amp;amp;radioactivity: -20&lt;br /&gt;
**for each bare land: +4, &lt;br /&gt;
*for each TerrainSlope: +12, &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===NaturalBeauty_Industrial===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===Crimes===&lt;br /&gt;
Sum 2x2 Cell = Population Density- (Police Power / 2) - (Land Value / 4) + +64 for Legalized Gambling (16 x 4 tiles per parcel/cell)&lt;br /&gt;
===Pollution===&lt;br /&gt;
Sum 2x2 cell = [last_cycle + traffic/5 + all 4 inside tiles RawPollution + 200 for each Radioactive] average around / Pollution divisor&lt;br /&gt;
===Density===&lt;br /&gt;
Sum 4x4 cell = TileDensity/10 [1,2,3,4] or non-RCI=2 (Density: &amp;quot;20 Sims&amp;quot;/tile) or Arcology=12 (Density: &amp;quot;120 Sims&amp;quot;/tile)&lt;br /&gt;
===ROG===&lt;br /&gt;
Sum 4x4 cell = 127 -/+ Pop Change in DensityVal&lt;br /&gt;
===OVERRIDE FIX===&lt;br /&gt;
APPLY @ 0046B68E&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
jmp 0046B68E&lt;br /&gt;
mov ebp,[ebx*4+004CC4F0]&lt;br /&gt;
movsx edi,si&lt;br /&gt;
mov ecx,[ebx*4+004CC6F8]&lt;br /&gt;
mov word ptr [ecx+edi*2],0000&lt;br /&gt;
JMP 0046AAB5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Load Func===&lt;br /&gt;
00433A50&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=770</id>
		<title>User:NotAnyoneSpecial</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=User:NotAnyoneSpecial&amp;diff=770"/>
		<updated>2025-03-28T11:59:06Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello world!&lt;br /&gt;
{{InfoboxTile|Name=Construction 2|TileSprite=1195.png|TileID=0xC3|ZoningType=None|Something=0xABCD}}&lt;br /&gt;
==public scratchpad (needs formal writeup)==&lt;br /&gt;
[[File:City Center MiniMap.png|thumb|City Center correctly indicated with Red Cross at 62, 62 on minimap display for Windows 3.11]]&lt;br /&gt;
[[File:City Center Display.png|thumb|City Center displayed with onmap Land value data display from the map&#039;s actual center.]]&lt;br /&gt;
===Per Zone Formulas===&lt;br /&gt;
General structure: BaseBeauty + CityCenter_Bonus + ZoneSpecialBonus (Res: Low Pop Density, Com: High Pop Density, Ind: No Density Restriction) - Pollute - Crime &lt;br /&gt;
====Res====&lt;br /&gt;
2x2 cell Residential Land Value &amp;amp; No zone (0046AE09) = (64-CC_Dist)/2 - ( Pollution / 5 ) - ( Crime / 3 ) + +21 for (64&amp;gt;Population Density) + NaturalBeauty_ResCom&lt;br /&gt;
====Com====&lt;br /&gt;
2x2 cell Commercial Land Value (0046AEF9) = 64-CC_Dist - ( Pollution / 4 ) - ( Crime / 3 ) + (Population Density / 3) + NaturalBeauty_ResCom&lt;br /&gt;
====Ind====&lt;br /&gt;
2x2 cell Industrial Land Value (0046AFE7) = (64-CC_Dist)/4 - ( Pollution / 16 ) - ( Crime / 4 ) + +21 for dense industry + NaturalBeauty_Ind&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
===NaturalBeauty_ResCom===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*IsTile case select?&lt;br /&gt;
**for each BigPark tile: +40&lt;br /&gt;
**for each Tree tile&amp;amp;SmallPark: +20&lt;br /&gt;
**for each rubble&amp;amp;radioactivity: -20&lt;br /&gt;
**for each bare land: +4, &lt;br /&gt;
*for each TerrainSlope: +12, &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===NaturalBeauty_Industrial===&lt;br /&gt;
Sum 4x4 cell = &lt;br /&gt;
*for each Tile receiving water: +4, &lt;br /&gt;
*for each surface water: +12,&lt;br /&gt;
then average around, include itself (5 but less if on edges)&lt;br /&gt;
&#039;&#039;&#039;Bugged! seems to include wrong maps.&#039;&#039;&#039;&lt;br /&gt;
===Crimes===&lt;br /&gt;
Sum 2x2 Cell = Population Density- (Police Power / 2) - (Land Value / 4) + +64 for Legalized Gambling (16 x 4 tiles per parcel/cell)&lt;br /&gt;
===Pollution===&lt;br /&gt;
Sum 2x2 cell = [last_cycle + traffic/5 + all 4 inside tiles RawPollution + 200 for each Radioactive] average around / Pollution divisor&lt;br /&gt;
===Density===&lt;br /&gt;
Sum 4x4 cell = TileDensity/10 [1,2,3,4] or non-RCI=2 (Density: &amp;quot;20 Sims&amp;quot;/tile) or Arcology=12 (Density: &amp;quot;120 Sims&amp;quot;/tile)&lt;br /&gt;
===ROG===&lt;br /&gt;
Sum 4x4 cell = 127 -/+ Pop Change in DensityVal&lt;br /&gt;
===Load Func===&lt;br /&gt;
00433A50&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=769</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=769"/>
		<updated>2025-03-27T18:48:07Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A0 || DWORD || &#039;&#039;&#039;dwTotalBusRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Bus Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A4 || DWORD || &#039;&#039;&#039;dwTotalTrainRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Train Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C8600 || DWORD || &#039;&#039;&#039;dwTotalSubwayRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Subway Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EE8 || DWORD || &#039;&#039;&#039;dwDisasterActive&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Array of Interest rates for each outstanding bond.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || A growth modifier for the SimNation economic model that only affects interest rates. (0=&amp;quot;Bull Market&amp;quot;,1=&amp;quot;Steady&amp;quot;,2=&amp;quot;Recession&amp;quot;,3=&amp;quot;Depression&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wSetTriggerDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city&#039;s zones from last count (new immigrants).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA804|| DWORD[3] || &#039;&#039;&#039;dwNeighborGNP&#039;&#039;&#039; ||  || the GNP of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA92C || DWORD[3] || &#039;&#039;&#039;dwNeighborFame&#039;&#039;&#039; ||  || Completely unused and always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalFedRate&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA93C || WORD || &#039;&#039;&#039;wCurrentDisasterType&#039;&#039;&#039; ||  || The Disaster ID for the current/ongoing disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10|| DWORD[3] || &#039;&#039;&#039;dwNeighborPopulation&#039;&#039;&#039; ||  || the Population of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four strings for the actual neighbor city&#039;s names (32 bytes each), clockwise from bottom left. Doesn&#039;t last beyond current game session.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwNewLocalBirthPops&#039;&#039;&#039; ||  || Seems to actually be local city newbirths in the city as opposed to new pops from immigration.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherRain&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the [[budget array]] (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4DC || WORD[3] || &#039;&#039;&#039;wNeighborStringNameID&#039;&#039;&#039; ||  || A string lookup ID for the neighbor city&#039;s name, the appropriate string is loaded whenever map is loaded. There are 36 city names.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E0 || WORD || &#039;&#039;&#039;wStadiumSportsTypes&#039;&#039;&#039; ||  || Flags for the currently available &amp;quot;Sports types&amp;quot; (+1 Football, +2 baseball, +4 Soccer, +8 Cricket, +16 Rugby)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E6520 || DWORD || &#039;&#039;&#039;dwCheatsHandlingBuffer&#039;&#039;&#039; ||  || current lookup ID for current cheat being possibly entered, and then a return value once completed?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E6524 || DWORD || &#039;&#039;&#039;dwCheatsHandlingBufferLength&#039;&#039;&#039; ||  || current string length for the current possibly valid cheat attempting to be entered&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C0 || WORD || &#039;&#039;&#039;wPassengerPlanes&#039;&#039;&#039; ||  || A total count of Passenger Plane things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C4 || WORD || &#039;&#039;&#039;wActiveHelicopters&#039;&#039;&#039; ||  || A total count of Helicopter things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C8 || WORD || &#039;&#039;&#039;wActiveCargoships&#039;&#039;&#039; ||  || A total count of Cargo Ship things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99CC || WORD || &#039;&#039;&#039;wMaxisMan&#039;&#039;&#039; ||  || A total count of MaxisMan things.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D0 || WORD || &#039;&#039;&#039;wSailingBoats&#039;&#039;&#039; ||  || A total count of Sailing boats from Marinas.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D4 || WORD || &#039;&#039;&#039;wMonster&#039;&#039;&#039; ||  || If there is an active monster, it&#039;s set to 1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D8 || WORD || &#039;&#039;&#039;wActiveTrains&#039;&#039;&#039; ||  || A total count of Train things (train entities, not &#039;tiles&#039; of train)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99DC || WORD || &#039;&#039;&#039;wTornados_XTHGs&#039;&#039;&#039; ||  || Active Tornado XTHGs&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99E0 || DWORD || &#039;&#039;&#039;dwHelicopterThing&#039;&#039;&#039; ||  || A &#039;thing&#039; for Helicopter thing (will return to this one day)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA930 || void* || &#039;&#039;&#039;zonePopsBase&#039;&#039;&#039; ||  || Pointer to 3-item array of Zone (light+dense combined) Populations (/10): &#039;&#039;&#039;Residential, Commercial, Industrial&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=768</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=768"/>
		<updated>2025-03-27T12:25:44Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: same var added twice.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A0 || DWORD || &#039;&#039;&#039;dwTotalBusRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Bus Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A4 || DWORD || &#039;&#039;&#039;dwTotalTrainRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Train Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C8600 || DWORD || &#039;&#039;&#039;dwTotalSubwayRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Subway Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EE8 || DWORD || &#039;&#039;&#039;dwDisasterActive&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Array of Interest rates for each outstanding bond.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || A growth modifier for the SimNational economic model that practically only affects interest rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wSetTriggerDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA804|| DWORD[3] || &#039;&#039;&#039;dwNeighborGNP&#039;&#039;&#039; ||  || the GNP of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA92C || DWORD[3] || &#039;&#039;&#039;dwNeighborFame&#039;&#039;&#039; ||  || Completely unused and always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalFedRate&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA93C || WORD || &#039;&#039;&#039;wCurrentDisasterType&#039;&#039;&#039; ||  || The Disaster ID for the current/ongoing disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10|| DWORD[3] || &#039;&#039;&#039;dwNeighborPopulation&#039;&#039;&#039; ||  || the Population of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four strings for the actual neighbor city&#039;s names (32 bytes each), clockwise from bottom left. Doesn&#039;t last beyond current game session.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherRain&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the [[budget array]] (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4DC || WORD[3] || &#039;&#039;&#039;wNeighborStringNameID&#039;&#039;&#039; ||  || A string lookup ID for the neighbor city&#039;s name, the appropriate string is loaded whenever map is loaded. There are 36 city names.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E0 || WORD || &#039;&#039;&#039;wStadiumSportsTypes&#039;&#039;&#039; ||  || Flags for the currently available &amp;quot;Sports types&amp;quot; (+1 Football, +2 baseball, +4 Soccer, +8 Cricket, +16 Rugby)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E6520 || DWORD || &#039;&#039;&#039;dwCheatsHandlingBuffer&#039;&#039;&#039; ||  || current lookup ID for current cheat being possibly entered, and then a return value once completed?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E6524 || DWORD || &#039;&#039;&#039;dwCheatsHandlingBufferLength&#039;&#039;&#039; ||  || current string length for the current possibly valid cheat attempting to be entered&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C0 || WORD || &#039;&#039;&#039;wPassengerPlanes&#039;&#039;&#039; ||  || A total count of Passenger Plane things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C4 || WORD || &#039;&#039;&#039;wActiveHelicopters&#039;&#039;&#039; ||  || A total count of Helicopter things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C8 || WORD || &#039;&#039;&#039;wActiveCargoships&#039;&#039;&#039; ||  || A total count of Cargo Ship things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99CC || WORD || &#039;&#039;&#039;wMaxisMan&#039;&#039;&#039; ||  || A total count of MaxisMan things.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D0 || WORD || &#039;&#039;&#039;wSailingBoats&#039;&#039;&#039; ||  || A total count of Sailing boats from Marinas.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D4 || WORD || &#039;&#039;&#039;wMonster&#039;&#039;&#039; ||  || If there is an active monster, it&#039;s set to 1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D8 || WORD || &#039;&#039;&#039;wActiveTrains&#039;&#039;&#039; ||  || A total count of Train things (train entities, not &#039;tiles&#039; of train)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99DC || WORD || &#039;&#039;&#039;wTornados_XTHGs&#039;&#039;&#039; ||  || Active Tornado XTHGs&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99E0 || DWORD || &#039;&#039;&#039;dwHelicopterThing&#039;&#039;&#039; ||  || A &#039;thing&#039; for Helicopter thing (will return to this one day)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA930 || void* || &#039;&#039;&#039;zonePopsBase&#039;&#039;&#039; ||  || Pointer to 3-item array of Zone (light+dense combined) Populations (/10): &#039;&#039;&#039;Residential, Commercial, Industrial&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=766</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=766"/>
		<updated>2025-03-26T23:38:30Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A0 || DWORD || &#039;&#039;&#039;dwTotalBusRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Bus Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A4 || DWORD || &#039;&#039;&#039;dwTotalTrainRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Train Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C8600 || DWORD || &#039;&#039;&#039;dwTotalSubwayRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Subway Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EE8 || DWORD || &#039;&#039;&#039;dwDisasterActive&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Array of Interest rates for each outstanding bond.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || A growth modifier for the SimNational economic model that practically only affects interest rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wSetTriggerDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA804|| DWORD[3] || &#039;&#039;&#039;dwNeighborGNP&#039;&#039;&#039; ||  || the GNP of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA92C || DWORD[3] || &#039;&#039;&#039;dwNeighborFame&#039;&#039;&#039; ||  || Completely unused and always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalFedRate&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA93C || WORD || &#039;&#039;&#039;wCurrentDisasterType&#039;&#039;&#039; ||  || The Disaster ID for the current/ongoing disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10|| DWORD[3] || &#039;&#039;&#039;dwNeighborPopulation&#039;&#039;&#039; ||  || the Population of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four strings for the actual neighbor city&#039;s names (32 bytes each), clockwise from bottom left. Doesn&#039;t last beyond current game session.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherRain&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the [[budget array]] (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4DC || WORD[3] || &#039;&#039;&#039;wNeighborStringNameID&#039;&#039;&#039; ||  || A string lookup ID for the neighbor city&#039;s name, the appropriate string is loaded whenever map is loaded. There are 36 city names.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E0 || WORD || &#039;&#039;&#039;wStadiumSportsTypes&#039;&#039;&#039; ||  || Flags for the currently available &amp;quot;Sports types&amp;quot; (+1 Football, +2 baseball, +4 Soccer, +8 Cricket, +16 Rugby)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E6520 || DWORD || &#039;&#039;&#039;dwCheatsHandlingBuffer&#039;&#039;&#039; ||  || current lookup ID for current cheat being possibly entered, and then a return value once completed?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E6524 || DWORD || &#039;&#039;&#039;dwCheatsHandlingBufferLength&#039;&#039;&#039; ||  || current string length for the current possibly valid cheat attempting to be entered&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C0 || WORD || &#039;&#039;&#039;wPassengerPlanes&#039;&#039;&#039; ||  || A total count of Passenger Plane things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C4 || WORD || &#039;&#039;&#039;wActiveHelicopters&#039;&#039;&#039; ||  || A total count of Helicopter things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C8 || WORD || &#039;&#039;&#039;wActiveCargoships&#039;&#039;&#039; ||  || A total count of Cargo Ship things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99CC || WORD || &#039;&#039;&#039;wMaxisMan&#039;&#039;&#039; ||  || A total count of MaxisMan things.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D0 || WORD || &#039;&#039;&#039;wSailingBoats&#039;&#039;&#039; ||  || A total count of Sailing boats from Marinas.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D4 || WORD || &#039;&#039;&#039;wMonster&#039;&#039;&#039; ||  || If there is an active monster, it&#039;s set to 1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D8 || WORD || &#039;&#039;&#039;wActiveTrains&#039;&#039;&#039; ||  || A total count of Train things (train entities, not &#039;tiles&#039; of train)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99DC || WORD || &#039;&#039;&#039;wTornados_XTHGs&#039;&#039;&#039; ||  || Active Tornado XTHGs&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99E0 || DWORD || &#039;&#039;&#039;dwHelicopterThing&#039;&#039;&#039; ||  || A &#039;thing&#039; for Helicopter thing (will return to this one day)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA930 || void* || &#039;&#039;&#039;zonePopsBase&#039;&#039;&#039; ||  || Pointer to 3-item array of Zone (light+dense combined) Populations (/10): &#039;&#039;&#039;Residential, Commercial, Industrial&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=765</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=765"/>
		<updated>2025-03-26T12:13:19Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A0 || DWORD || &#039;&#039;&#039;dwTotalBusRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Bus Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A4 || DWORD || &#039;&#039;&#039;dwTotalTrainRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Train Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C8600 || DWORD || &#039;&#039;&#039;dwTotalSubwayRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Subway Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EE8 || DWORD || &#039;&#039;&#039;dwDisasterActive&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Array of Interest rates for each outstanding bond.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || A growth modifier for the SimNational economic model that practically only affects interest rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wSetTriggerDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA804|| DWORD[3] || &#039;&#039;&#039;dwNeighborGNP&#039;&#039;&#039; ||  || the GNP of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA92C || DWORD[3] || &#039;&#039;&#039;dwNeighborFame&#039;&#039;&#039; ||  || Completely unused and always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalFedRate&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA93C || WORD || &#039;&#039;&#039;wCurrentDisasterType&#039;&#039;&#039; ||  || The Disaster ID for the current/ongoing disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10|| DWORD[3] || &#039;&#039;&#039;dwNeighborPopulation&#039;&#039;&#039; ||  || the Population of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four strings for the actual neighbor city&#039;s names (32 bytes each), clockwise from bottom left. Doesn&#039;t last beyond current game session.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherRain&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the [[budget array]] (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4DC || WORD[3] || &#039;&#039;&#039;wNeighborStringNameID&#039;&#039;&#039; ||  || A string lookup ID for the neighbor city&#039;s name, the appropriate string is loaded whenever map is loaded. There are 36 city names.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E0 || WORD || &#039;&#039;&#039;wStadiumSportsTypes&#039;&#039;&#039; ||  || Flags for the currently available &amp;quot;Sports types&amp;quot; (+1 Football, +2 baseball, +4 Soccer, +8 Cricket, +16 Rugby)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E6520 || DWORD || &#039;&#039;&#039;dwCheatsHandlingBuffer&#039;&#039;&#039; ||  || current lookup ID for current cheat being possibly entered, and then a return value once completed?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E6524 || DWORD || &#039;&#039;&#039;dwCheatsHandlingBufferLength&#039;&#039;&#039; ||  || current string length for the current possibly valid cheat attempting to be entered&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C0 || WORD || &#039;&#039;&#039;wPassengerPlanes&#039;&#039;&#039; ||  || A total count of Passenger Plane things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C4 || WORD || &#039;&#039;&#039;wActiveHelicopters&#039;&#039;&#039; ||  || A total count of Helicopter things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C8 || WORD || &#039;&#039;&#039;wActiveCargoships&#039;&#039;&#039; ||  || A total count of Cargo Ship things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99CC || WORD || &#039;&#039;&#039;wMaxisMan&#039;&#039;&#039; ||  || A total count of MaxisMan things.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D0 || WORD || &#039;&#039;&#039;wSailingBoats&#039;&#039;&#039; ||  || A total count of Sailing boats from Marinas.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D4 || WORD || &#039;&#039;&#039;wMonster&#039;&#039;&#039; ||  || If there is an active monster, it&#039;s set to 1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D8 || WORD || &#039;&#039;&#039;wActiveTrains&#039;&#039;&#039; ||  || A total count of Train things (train entities, not &#039;tiles&#039; of train)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99DC || WORD || &#039;&#039;&#039;wTornados_XTHGs&#039;&#039;&#039; ||  || Active Tornado XTHGs&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99E0 || DWORD || &#039;&#039;&#039;dwHelicopterThing&#039;&#039;&#039; ||  || A &#039;thing&#039; for Helicopter thing (will return to this one day)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=764</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=764"/>
		<updated>2025-03-26T10:42:24Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A0 || DWORD || &#039;&#039;&#039;dwTotalBusRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Bus Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A4 || DWORD || &#039;&#039;&#039;dwTotalTrainRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Train Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C8600 || DWORD || &#039;&#039;&#039;dwTotalSubwayRiders&#039;&#039;&#039; ||  || Sum of all trips that entered the Subway Network&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EE8 || DWORD || &#039;&#039;&#039;dwDisasterActive&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Array of Interest rates for each outstanding bond.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || A growth modifier for the SimNational economic model that practically only affects interest rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wSetTriggerDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA804|| DWORD[3] || &#039;&#039;&#039;dwNeighborGNP&#039;&#039;&#039; ||  || the GNP of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA92C || DWORD[3] || &#039;&#039;&#039;dwNeighborFame&#039;&#039;&#039; ||  || Completely unused and always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalFedRate&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA93C || WORD || &#039;&#039;&#039;wCurrentDisasterType&#039;&#039;&#039; ||  || The Disaster ID for the current/ongoing disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10|| DWORD[3] || &#039;&#039;&#039;dwNeighborPopulation&#039;&#039;&#039; ||  || the Population of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four strings for the actual neighbor city&#039;s names (32 bytes each), clockwise from bottom left. Doesn&#039;t last beyond current game session.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherRain&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the [[budget array]] (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4DC || WORD[3] || &#039;&#039;&#039;wNeighborStringNameID&#039;&#039;&#039; ||  || A string lookup ID for the neighbor city&#039;s name, the appropriate string is loaded whenever map is loaded. There are 36 city names.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E0 || WORD || &#039;&#039;&#039;wStadiumSportsTypes&#039;&#039;&#039; ||  || Flags for the currently available &amp;quot;Sports types&amp;quot; (+1 Football, +2 baseball, +4 Soccer, +8 Cricket, +16 Rugby)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C0 || WORD || &#039;&#039;&#039;wPassengerPlanes&#039;&#039;&#039; ||  || A total count of Passenger Plane things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C4 || WORD || &#039;&#039;&#039;wActiveHelicopters&#039;&#039;&#039; ||  || A total count of Helicopter things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C8 || WORD || &#039;&#039;&#039;wActiveCargoships&#039;&#039;&#039; ||  || A total count of Cargo Ship things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99CC || WORD || &#039;&#039;&#039;wMaxisMan&#039;&#039;&#039; ||  || A total count of MaxisMan things.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D0 || WORD || &#039;&#039;&#039;wSailingBoats&#039;&#039;&#039; ||  || A total count of Sailing boats from Marinas.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D4 || WORD || &#039;&#039;&#039;wMonster&#039;&#039;&#039; ||  || If there is an active monster, it&#039;s set to 1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D8 || WORD || &#039;&#039;&#039;wActiveTrains&#039;&#039;&#039; ||  || A total count of Train things (train entities, not &#039;tiles&#039; of train)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99DC || WORD || &#039;&#039;&#039;wTornados_XTHGs&#039;&#039;&#039; ||  || Active Tornado XTHGs&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99E0 || DWORD || &#039;&#039;&#039;dwHelicopterThing&#039;&#039;&#039; ||  || A &#039;thing&#039; for Helicopter thing (will return to this one day)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=763</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=763"/>
		<updated>2025-03-26T10:35:50Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A0 || DWORD || &#039;&#039;&#039;dwTotalBusRiders&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C85A4 || DWORD || &#039;&#039;&#039;dwTotalTrainRiders&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C8600 || DWORD || &#039;&#039;&#039;dwTotalSubwayRiders&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EE8 || DWORD || &#039;&#039;&#039;dwDisasterActive&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Array of Interest rates for each outstanding bond.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wSetTriggerDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA804|| DWORD[3] || &#039;&#039;&#039;dwNeighborGNP&#039;&#039;&#039; ||  || the GNP of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA92C || DWORD[3] || &#039;&#039;&#039;dwNeighborFame&#039;&#039;&#039; ||  || Completely unused and always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA93C || WORD || &#039;&#039;&#039;wCurrentDisasterType&#039;&#039;&#039; ||  || The Disaster ID for the current/ongoing disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10|| DWORD[3] || &#039;&#039;&#039;dwNeighborPopulation&#039;&#039;&#039; ||  || the Population of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four strings for the actual neighbor city&#039;s names (32 bytes each), clockwise from bottom left. Doesn&#039;t last beyond current game session.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4DC || WORD[3] || &#039;&#039;&#039;wNeighborStringNameID&#039;&#039;&#039; ||  || A string lookup ID for the neighbor city&#039;s name, the appropriate string is loaded whenever map is loaded. There are 36 city names.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E0 || WORD || &#039;&#039;&#039;wStadiumSportsTypes&#039;&#039;&#039; ||  || +1 Football, +2 baseball, +4 Soccer, +8 Cricket, +16 Rugby&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C0 || WORD || &#039;&#039;&#039;wPassengerPlanes&#039;&#039;&#039; ||  || A total count of Passenger Plane things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C4 || WORD || &#039;&#039;&#039;wActiveHelicopters&#039;&#039;&#039; ||  || A total count of Helicopter things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C8 || WORD || &#039;&#039;&#039;wActiveCargoships&#039;&#039;&#039; ||  || A total count of Cargo Ship things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99CC || WORD || &#039;&#039;&#039;wMaxisMan&#039;&#039;&#039; ||  || A total count of MaxisMan things.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D0 || WORD || &#039;&#039;&#039;wSailingBoats&#039;&#039;&#039; ||  || A total count of Sailing boats from Marinas.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D4 || WORD || &#039;&#039;&#039;wMonster&#039;&#039;&#039; ||  || If there is an active monster, it&#039;s set to 1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D8 || WORD || &#039;&#039;&#039;wActiveTrains&#039;&#039;&#039; ||  || A total count of Train things (train entities, not &#039;tiles&#039; of train)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99DC || WORD || &#039;&#039;&#039;wTornados_XTHGs&#039;&#039;&#039; ||  || Active Tornado XTHGs&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99E0 || DWORD || &#039;&#039;&#039;dwHelicopterThing&#039;&#039;&#039; ||  || A &#039;thing&#039; for Helicopter thing (will return to this one day)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=762</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=762"/>
		<updated>2025-03-26T02:24:57Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Interest rates of all outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wSetTriggerDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA804|| DWORD[3] || &#039;&#039;&#039;dwNeighborGNP&#039;&#039;&#039; ||  || the GNP of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA92C || DWORD[3] || &#039;&#039;&#039;dwNeighborFame&#039;&#039;&#039; ||  || Completely unused and always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA93C || WORD || &#039;&#039;&#039;wCurrentDisasterType&#039;&#039;&#039; ||  || The Disaster ID for the current/ongoing disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10|| DWORD[3] || &#039;&#039;&#039;dwNeighborPopulation&#039;&#039;&#039; ||  || the Population of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four strings for the actual neighbor city&#039;s names (32 bytes each), clockwise from bottom left. Doesn&#039;t last beyond current game session.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4DC || WORD[3] || &#039;&#039;&#039;wNeighborStringNameID&#039;&#039;&#039; ||  || A string lookup ID for the neighbor city&#039;s name, the appropriate string is loaded whenever map is loaded. There are 36 city names.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E0 || WORD || &#039;&#039;&#039;wStadiumSportsTypes&#039;&#039;&#039; ||  || +1 Football, +2 baseball, +4 Soccer, +8 Cricket, +16 Rugby&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C0 || WORD || &#039;&#039;&#039;wPassengerPlanes&#039;&#039;&#039; ||  || A total count of Passenger Plane things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C4 || WORD || &#039;&#039;&#039;wActiveHelicopters&#039;&#039;&#039; ||  || A total count of Helicopter things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C8 || WORD || &#039;&#039;&#039;wActiveCargoships&#039;&#039;&#039; ||  || A total count of Cargo Ship things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D0 || WORD || &#039;&#039;&#039;wSailingBoats&#039;&#039;&#039; ||  || A total count of Sailing boats from Marinas.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D4 || WORD || &#039;&#039;&#039;wMonster&#039;&#039;&#039; ||  || If there is an active monster, it&#039;s set to 1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D8 || WORD || &#039;&#039;&#039;wActiveTrains&#039;&#039;&#039; ||  || A total count of Train things (train entities, not &#039;tiles&#039; of train)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EE8 || DWORD || &#039;&#039;&#039;dwDisasterActive&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=761</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=761"/>
		<updated>2025-03-26T02:05:27Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Interest rates of all outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wSetTriggerDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA804|| DWORD[3] || &#039;&#039;&#039;dwNeighborGNP&#039;&#039;&#039; ||  || the GNP of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA92C || DWORD[3] || &#039;&#039;&#039;dwNeighborFame&#039;&#039;&#039; ||  || Completely unused and always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA93C || WORD || &#039;&#039;&#039;wCurrentDisasterType&#039;&#039;&#039; ||  || The Disaster ID for the current/ongoing disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10|| DWORD[3] || &#039;&#039;&#039;dwNeighborPopulation&#039;&#039;&#039; ||  || the Population of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four strings for the actual neighbor city&#039;s names (32 bytes each), clockwise from bottom left. Doesn&#039;t last beyond current game session.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4DC || WORD[3] || &#039;&#039;&#039;wNeighborStringNameID&#039;&#039;&#039; ||  || A string lookup ID for the neighbor city&#039;s name, the appropriate string is loaded whenever map is loaded. There are 36 city names.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E0 || WORD || &#039;&#039;&#039;wStadiumSportsTypes&#039;&#039;&#039; ||  || +1 Football, +2 baseball, +4 Soccer, +8 Cricket, +16 Rugby&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C0 || WORD || &#039;&#039;&#039;wPassengerPlanes&#039;&#039;&#039; ||  || A total count of Passenger Plane things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C4 || WORD || &#039;&#039;&#039;wActiveHelicopters&#039;&#039;&#039; ||  || A total count of Helicopter things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C8 || WORD || &#039;&#039;&#039;wActiveCargoships&#039;&#039;&#039; ||  || A total count of Cargo Ship things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D4 || WORD || &#039;&#039;&#039;wMonster&#039;&#039;&#039; ||  || If there is an active monster, it&#039;s set to 1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D8 || WORD || &#039;&#039;&#039;wActiveTrains&#039;&#039;&#039; ||  || A total count of Train things (train entities, not &#039;tiles&#039; of train)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EE8 || DWORD || &#039;&#039;&#039;dwDisasterActive&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=760</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=760"/>
		<updated>2025-03-25T23:55:54Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Interest rates of all outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wSetTriggerDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA804|| DWORD[3] || &#039;&#039;&#039;dwNeighborGNP&#039;&#039;&#039; ||  || the GNP of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA92C || DWORD[3] || &#039;&#039;&#039;dwNeighborFame&#039;&#039;&#039; ||  || Completely unused and always 0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA93C || WORD || &#039;&#039;&#039;wCurrentDisasterType&#039;&#039;&#039; ||  || The Disaster ID for the current/ongoing disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10|| DWORD[3] || &#039;&#039;&#039;dwNeighborPopulation&#039;&#039;&#039; ||  || the Population of the Neighboring city&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four strings for the actual neighbor city&#039;s names (32 bytes each), clockwise from bottom left&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4DC || WORD[3] || &#039;&#039;&#039;wNeighborStringNameID&#039;&#039;&#039; ||  || A string lookup ID for the neighbor city&#039;s name. There are 36 city names.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E0 || WORD || &#039;&#039;&#039;wStadiumSportsTypes&#039;&#039;&#039; ||  || +1 Football, +2 baseball, +4 Soccer, +8 Cricket, +16 Rugby&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C0 || WORD || &#039;&#039;&#039;wPassengerPlanes&#039;&#039;&#039; ||  || A total count of Passenger Plane things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C4 || WORD || &#039;&#039;&#039;wActiveHelicopters&#039;&#039;&#039; ||  || A total count of Helicopter things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99C8 || WORD || &#039;&#039;&#039;wActiveCargoships&#039;&#039;&#039; ||  || A total count of Cargo Ship things&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D4 || WORD || &#039;&#039;&#039;wMonster&#039;&#039;&#039; ||  || If there is an active monster, it&#039;s set to 1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4E99D8 || WORD || &#039;&#039;&#039;wActiveTrains&#039;&#039;&#039; ||  || A total count of Train things (train entities, not &#039;tiles&#039; of train)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EE8 || DWORD || &#039;&#039;&#039;dwDisasterActive&#039;&#039;&#039; ||  || Set to 1 when disaster is active, overrides usual status bar messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=759</id>
		<title>Inventions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=759"/>
		<updated>2025-03-25T09:59:21Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: why highways might appear twice&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MemoryLocation|0042E460}}&lt;br /&gt;
&lt;br /&gt;
In Simcity 2000 during game set up the invention date of each technological development is randomly generated and set in NewGameSetup. These dates are a combination of a &#039;&#039;&#039;Base Year&#039;&#039;&#039; for the invention of that technology sourced from an array ({{MemoryLocation|004E99E8}}) and a random number between 0 and 19 of years from that base year. These values are stored in the array &#039;&#039;&#039;wCityInventionYears[17]&#039;&#039;&#039; ({{MemoryLocation|0x4CB430}}) in the same order as the base array. If the randomly determined year is before the founding year of the current game then it&#039;s automatically unlocked, otherwise the game will check monthly if it has reached the specified year.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Highways&amp;quot; appears twice because, &#039;&#039;I suspect&#039;&#039;, the list text-strings will &amp;quot;loop&amp;quot; back to the first &amp;quot;Innovation&amp;quot; type invention that appears. Possibly some sort of bug because something was removed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (i=0;i&amp;lt;17;i++)&lt;br /&gt;
{&lt;br /&gt;
wCityInventionYears[i] = rand() % 20 + dataInventionBaseYears[i];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ wInventionBaseYears[20]:&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Invention !! Offset !! Base Year!!type&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || 0x00 || 1940||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || 0x02 || 1950||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Solar Power || 0x04|| 1980||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Wind power || 0x06 || 1970||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Microwave power || 0x08 || 2020||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Fusion power || 0x0A || 2050||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Airport || 0x0C || 1920||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x0E || 1920||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Bus || 0x10 || 1910||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Subway || 0x12 || 1900||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Water treatment || 0x14 || 1925||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Desalination plant || 0x16 || 1980||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || 0x18 || 1990||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || 0x1A || 2040||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || 0x1C || 2090||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || 0x1E || 2140||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x20 || 2190||Innovation&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=758</id>
		<title>Inventions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=758"/>
		<updated>2025-03-25T09:49:10Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MemoryLocation|0042E460}}&lt;br /&gt;
&lt;br /&gt;
In Simcity 2000 during game set up the invention date of each technological development is randomly generated and set in NewGameSetup. These dates are a combination of a &#039;&#039;&#039;Base Year&#039;&#039;&#039; for the invention of that technology sourced from an array ({{MemoryLocation|004E99E8}}) and a random number between 0 and 19 of years from that base year. These values are stored in the array &#039;&#039;&#039;wCityInventionYears[17]&#039;&#039;&#039; ({{MemoryLocation|0x4CB430}}) in the same order as the base array. If the randomly determined year is before the founding year of the current game then it&#039;s automatically unlocked, otherwise the game will check monthly if it has reached the specified year.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (i=0;i&amp;lt;17;i++)&lt;br /&gt;
{&lt;br /&gt;
wCityInventionYears[i] = rand() % 20 + dataInventionBaseYears[i];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ wInventionBaseYears[20]:&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Invention !! Offset !! Base Year!!type&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || 0x00 || 1940||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || 0x02 || 1950||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Solar Power || 0x04|| 1980||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Wind power || 0x06 || 1970||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Microwave power || 0x08 || 2020||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Fusion power || 0x0A || 2050||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Airport || 0x0C || 1920||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x0E || 1920||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Bus || 0x10 || 1910||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Subway || 0x12 || 1900||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Water treatment || 0x14 || 1925||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Desalination plant || 0x16 || 1980||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || 0x18 || 1990||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || 0x1A || 2040||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || 0x1C || 2090||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || 0x1E || 2140||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x20 || 2190||Innovation&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=757</id>
		<title>Inventions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=757"/>
		<updated>2025-03-25T09:48:37Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: deploying template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MemoryLocation|0042E460}}&lt;br /&gt;
&lt;br /&gt;
In Simcity 2000 during game set up the invention date of each technological development is randomly generated and set in NewGameSetup. These dates are a combination of a &#039;&#039;&#039;Base Year&#039;&#039;&#039; for the invention of that technology sourced from an array (&#039;&#039;&#039;Array Location:&#039;&#039;&#039;&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;) and a random number between 0 and 19 of years from that base year. These values are stored in the array &#039;&#039;&#039;wCityInventionYears[17]&#039;&#039;&#039; ({{MemoryLocation|0x4CB430}}) in the same order as the base array. If the randomly determined year is before the founding year of the current game then it&#039;s automatically unlocked, otherwise the game will check monthly if it has reached the specified year.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (i=0;i&amp;lt;17;i++)&lt;br /&gt;
{&lt;br /&gt;
wCityInventionYears[i] = rand() % 20 + dataInventionBaseYears[i];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ wInventionBaseYears[20]:&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Invention !! Offset !! Base Year!!type&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || 0x00 || 1940||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || 0x02 || 1950||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Solar Power || 0x04|| 1980||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Wind power || 0x06 || 1970||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Microwave power || 0x08 || 2020||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Fusion power || 0x0A || 2050||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Airport || 0x0C || 1920||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x0E || 1920||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Bus || 0x10 || 1910||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Subway || 0x12 || 1900||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Water treatment || 0x14 || 1925||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Desalination plant || 0x16 || 1980||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || 0x18 || 1990||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || 0x1A || 2040||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || 0x1C || 2090||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || 0x1E || 2140||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x20 || 2190||Innovation&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Template:MemoryLocation&amp;diff=756</id>
		<title>Template:MemoryLocation</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Template:MemoryLocation&amp;diff=756"/>
		<updated>2025-03-25T09:47:22Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: making standard template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Location&#039;&#039;&#039;:&amp;lt;code&amp;gt;{{{1}}}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=SimulationProcessTick&amp;diff=755</id>
		<title>SimulationProcessTick</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=SimulationProcessTick&amp;diff=755"/>
		<updated>2025-03-24T18:40:44Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: converted list into table, should be replaced with a list of functions eventually&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Every month is split into 25 ticks (otherwise known as days) that need to be processed before moving on to the next month, each tick processes different things in the Simulator:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Day !! &lt;br /&gt;
|-&lt;br /&gt;
|1 || Calculate budget updates for the last month. If it&#039;s March or July and the &amp;quot;Subscription&amp;quot; newspaper option is selected, generate and show a non-alert newspaper. Update some of the calendar variables in the simulation state. Push the monthly graph stack back one month.&lt;br /&gt;
|-&lt;br /&gt;
|2 || Update power consumption for cities over 50,000 (not really required after commits 2a3f72c and 020133b).&lt;br /&gt;
|-&lt;br /&gt;
|3 || Updates things like crime and pollution and other components stored as 64x64 and 32x32 blocks of data. Possibly also determines what constitutes &amp;quot;downtown&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|4 || Growth tick, stepping (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
|5 || Growth tick, stepping (0, 1).&lt;br /&gt;
|-&lt;br /&gt;
|6 || Growth tick, stepping (0, 2).&lt;br /&gt;
|-&lt;br /&gt;
|7 || Growth tick, stepping (0, 3).&lt;br /&gt;
|-&lt;br /&gt;
|8 || Growth tick, stepping (1, 0).&lt;br /&gt;
|-&lt;br /&gt;
|9 || Growth tick, stepping (1, 1).&lt;br /&gt;
|-&lt;br /&gt;
|10 || Growth tick, stepping (1, 2).&lt;br /&gt;
|-&lt;br /&gt;
|11 || Growth tick, stepping (1, 3).&lt;br /&gt;
|-&lt;br /&gt;
|12 || Growth tick, stepping (2, 0).&lt;br /&gt;
|-&lt;br /&gt;
|13 || Growth tick, stepping (2, 1). Advance the season if it&#039;s March, June, September, or December.&lt;br /&gt;
|-&lt;br /&gt;
|14 || Growth tick, stepping (2, 2).&lt;br /&gt;
|-&lt;br /&gt;
|15 || Growth tick, stepping (2, 3).&lt;br /&gt;
|-&lt;br /&gt;
|16 || Growth tick, stepping (3, 0).&lt;br /&gt;
|-&lt;br /&gt;
|17 || Growth tick, stepping (3, 1).&lt;br /&gt;
|-&lt;br /&gt;
|18 || Growth tick, stepping (3, 2).&lt;br /&gt;
|-&lt;br /&gt;
|19 || Growth tick, stepping (3, 3).&lt;br /&gt;
|-&lt;br /&gt;
|20 || Update traffic data for the month.&lt;br /&gt;
|-&lt;br /&gt;
|21 || Update water consumption for cities over 50,000 (not really required after commits 2a3f72c and 020133b).&lt;br /&gt;
|-&lt;br /&gt;
|22 || Update RCI demands. Theoretically do radioactive decay and forest growth (so rare it&#039;s practically a zero chance). Potentially display some Extra! newspapers depending on what&#039;s happening in the city and things like the national trend. Process new inventions if it&#039;s January. Update weather. Simulate the national and city economies. Update graphs.&lt;br /&gt;
|-&lt;br /&gt;
|23 || Grant rewards for city progression, including military base proposal. Check for scenario victory/failure conditions. Check for city bankruptcy (funds hitting -$100,000).&lt;br /&gt;
|-&lt;br /&gt;
|24 || Redraw the entire screen (not really required after commit 67b67c3). Do some MFC window updates/invalidates.&lt;br /&gt;
|-&lt;br /&gt;
|25 || Do some more MFC window updates/invalidates. Determine upcoming city crisis and whether it&#039;s just a &amp;quot;residents demand XYZ&amp;quot; type crisis or a full-blown disaster.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=754</id>
		<title>Newspaper</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=754"/>
		<updated>2025-03-24T18:10:23Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: expanded&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Newspaper subsystem is mostly flavor text but provides general feedback for &amp;quot;City Issues&amp;quot;, replacing &amp;quot;Survey&amp;quot; in Simcity Classic.&lt;br /&gt;
==Removed Mac OS Debug Menu==&lt;br /&gt;
[[File:SimCity 2000 (Mac OS Classic) - PaperText.png|thumb|Mac OS screenshot of removed menu]]&lt;br /&gt;
In the MacOS Simcity 2000 1.0 release a hidden nonfunctional debug menu of all the possible newspaper story types was left in the release copy. This was later completely removed in 1.2. Most stories are generated in [[SimulationRCIDemandUpdates]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ This and a &amp;quot;Pass-Value&amp;quot; are required for the func.&lt;br /&gt;
|-&lt;br /&gt;
! Number !! Story-type !! Pass-value !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Weather|| unknown || Weather&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Junk ||  0 ||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Founding||  0 ||City Founded&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Growth ||  wCityProgression ||City Progress (Mayor&#039;s House, City Hall)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Invent ||  inventionID ||Technology invented&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Innovate ||  inventionID - 7 ||Technology invented&lt;br /&gt;
|-&lt;br /&gt;
| 6 || War || 0 || Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Market ||  wNationalEconomyTrend || when trends change, a new story is made&lt;br /&gt;
|- &lt;br /&gt;
| 8 || Sports||  rand() % 5 ||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Fed Rate Up ||  wNationalTax || Related to Fed rate increased.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Fed Rate Down ||  wNationalTax || Related to Fed rate decreased.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Politics||  0||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Diplomacy|| 0||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Disaster||0||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Medical|| 0||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 15 || Upbeat|| 0||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 16 || High Crime|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 17 || High Traffic|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 18 || High Pollute|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 19 || Poor Educate|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 20 || Poor Health|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 21 || Poor Employment|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 22 || Fire|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 23 || Flood|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 24 || Plane Crash|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 25 || Heli Crash|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 26 || Tornado|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 27 || Earthquake|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 28 || Monster|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 29 || Meltdown|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 30 || Microwave|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 31 || Volcano|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 32 || Pollution|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 33 || Chemical Spill|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 34 || Hurricane|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 35 || Riot|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 36 || Old Power Plant|| unknown ||&lt;br /&gt;
|-&lt;br /&gt;
| 37 || Overcrowded Prisons|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 38 || Teachers Complain|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 39 || Bridge Collapse|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 40 || Bulldozer Upset|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 41 || Ordinance || OrdinanceNumber (0 - 19)|| whenever the city council randomly passes an ordinance a story is generated&lt;br /&gt;
|-&lt;br /&gt;
| 42 || Freds Opinion|| ||&lt;br /&gt;
|-&lt;br /&gt;
| 43 || Editor Opinion|| ||&lt;br /&gt;
|-&lt;br /&gt;
| 44 || Survey|| ||&lt;br /&gt;
|-&lt;br /&gt;
| 45 || MisSim|| ||&lt;br /&gt;
|-&lt;br /&gt;
| 46 || Power Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if Power usage is or over 98.&lt;br /&gt;
|-&lt;br /&gt;
| 47 || Transit Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if Road, Bus, Subway and Train station tiles &amp;lt; City Population / 100&lt;br /&gt;
|-&lt;br /&gt;
| 48 || Police Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 1000, and there isn&#039;t 1 Police Station or Prison every 20,000 CityPop.&lt;br /&gt;
|-&lt;br /&gt;
| 49 || Fire Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 1000, and there isn&#039;t 1 Fire Station every 20,000 CityPop.&lt;br /&gt;
|-&lt;br /&gt;
| 50 || Water Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 1000, and Water usage is or over 98.&lt;br /&gt;
|-&lt;br /&gt;
| 51 || Hospital Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 3000, and there isn&#039;t 1 Hospital every 25,000 CityPop.&lt;br /&gt;
|-&lt;br /&gt;
| 52 || School Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 3000, and there isn&#039;t 1 School every 20,000 CityPop.&lt;br /&gt;
|-&lt;br /&gt;
| 53 || Seaport Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 8000, city has river or ocean and there isn&#039;t 1 Rail Connection, Highway Connection or Seaport Crane for every 10,000 Industrial Pop.&lt;br /&gt;
|-&lt;br /&gt;
| 54 || Airport Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Alternates with Com Connex Demand. Sent if CityPop over 8000, and there isn&#039;t 1 Road Connections or Runway tile for every 2,000 Commercial Pop.&lt;br /&gt;
|-&lt;br /&gt;
| 55 || Zoo Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 8000, and there isn&#039;t 1 Recreational Tile for every 1,000 Residential Pop. Randomly alternates between all Recreational Demands.&lt;br /&gt;
|-&lt;br /&gt;
| 56 || Stadium Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 8000, and there isn&#039;t 1 Recreational Tile for every 1,000 Residential Pop. Randomly alternates between all Recreational Demands.&lt;br /&gt;
|-&lt;br /&gt;
| 57 || Marina Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 8000, and there isn&#039;t 1 Recreational Tile for every 1,000 Residential Pop. Randomly alternates between all Recreational Demands.&lt;br /&gt;
|-&lt;br /&gt;
| 58 || Park Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 8000, and there isn&#039;t 1 Recreational Tile for every 1,000 Residential Pop. Randomly alternates between all Recreational Demands.&lt;br /&gt;
|-&lt;br /&gt;
| 59 || Ind Connex Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]]. Sent if CityPop over 8000, city doesn&#039;t have river or ocean and there isn&#039;t 1 Rail Connection, Highway Connection or Seaport Crane for every 10,000 Industrial Pop.&lt;br /&gt;
|-&lt;br /&gt;
| 60 || Com Connex Demand|| 0|| From [[SimulationDetermineCityIssuesCrisis]].  Alternates with Airport Demand. Sent if CityPop over 8000, and there isn&#039;t 1 Road Connections or Runway tile for every 2,000 Commercial Pop.&lt;br /&gt;
|-&lt;br /&gt;
| 61 || Low Crime||0 ||&lt;br /&gt;
|-&lt;br /&gt;
| 62 || Low Traffic||0 ||&lt;br /&gt;
|-&lt;br /&gt;
| 63 || Low Pollute||0 ||&lt;br /&gt;
|-&lt;br /&gt;
| 64 || Good Educate||0 ||&lt;br /&gt;
|-&lt;br /&gt;
| 65 || Good Health||0 ||&lt;br /&gt;
|-&lt;br /&gt;
| 66 || Good Employment||0 ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Function_list&amp;diff=753</id>
		<title>Function list</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Function_list&amp;diff=753"/>
		<updated>2025-03-24T17:40:47Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: wanted to add this func but it already exists so expanded.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of functions in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
When adding new functions to the table, please make sure you insert them into the appropriate order by thunk address (the function that just has a &amp;lt;code&amp;gt;jmp &#039;&#039;&#039;ActualFunctionBody&#039;&#039;&#039;&amp;lt;/code&amp;gt; instruction in it). If/when it gets too unwieldy we can split it out into multiple tables.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401262 || 0x468D30 || int || __stdcall || &#039;&#039;&#039;[[SimulationEQ_LE_Processing]]&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 22 || Handles EQ and LE simulation for the month.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40130C || 0x45F760 || {{Win32_BOOL}} || __stdcall || &#039;&#039;&#039;SimulationDoDisasterTick&#039;&#039;&#039; ||  || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationStartDisaster&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| 0x4013ED || 0x42BCA0 || int || __cdecl || &#039;&#039;&#039;SimulationCalculateOrdinanceCost&#039;&#039;&#039; || DWORD dwOrdinance || {{Mostly understood}} ||  || Returns the effective cost of an ordinance&lt;br /&gt;
|-&lt;br /&gt;
| 0x4015E6 || 0x4731E0 || int || __cdecl || &#039;&#039;&#039;SimulationPrepareBudgetDialog&#039;&#039;&#039; || int a1 || {{Mostly understood}} ||  || arg a1 only referenced on line, seems to be more like &amp;quot;BOOL bUseParentWindow&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x401672 || 0x441E50 || int || __cdecl || &#039;&#039;&#039;SimulationGrantReward&#039;&#039;&#039; || __int16 iRewardID, BOOL bAddReward || {{Mostly understood}} ||  || Adds a city progression reward if (bAddReward), removes it if (!bAddReward).&lt;br /&gt;
|-&lt;br /&gt;
| 0x40174E || 0x42B4D0 || int || __cdecl || &#039;&#039;&#039;SimulationPrepareDisaster&#039;&#039;&#039; || DWORD *a1, __int16 a2, __int16 a3 || {{Somewhat understood}} ||  || Seems to prepare the starting location for disasters.&lt;br /&gt;
|-&lt;br /&gt;
| 0x401820 || 0x413520 || void || __stdcall || &#039;&#039;&#039;[[SimulationProcessTick]]&#039;&#039;&#039; ||  || {{Mostly understood}} || Called from &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; based on game speed || Advances the calendar date and performs all appropriate daily/monthly/etc. tasks. May need better name?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4019EC || 0x4412E0 || int || __cdecl || &#039;&#039;&#039;CenterOnTileCoords&#039;&#039;&#039; || __int16 iTileX, __int16 iTileY || {{Somewhat understood}} || Called from the centering tool and anywhere that needs to center the display || &lt;br /&gt;
|-&lt;br /&gt;
| 0x401CA8 || 0x464550 || int || __stdcall || &#039;&#039;&#039;SimulationUpdateWaterConsumption&#039;&#039;&#039; ||  || {{Barely explored}} || Called whenever tiles are placed and on &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 2 || Vanilla SC2K doesn&#039;t call this when tiles are placed on cities over 50,000 pop.&lt;br /&gt;
|-&lt;br /&gt;
| 0x401E65 || 0x471BC0 || char || __stdcall || &#039;&#039;&#039;[[SimulationDetermineCityIssuesCrisis]]&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called on the last day of the month and from &#039;&#039;sub_406A50&#039;&#039; || Changes the city status line if there&#039;s a new demand, determines the current city issues, and also starts disasters.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40217B || 0x468150 || int || __stdcall || &#039;&#039;&#039;[[SimulationRCIDemandUpdates]]&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 22 || Handles all RCI bar updates for &amp;quot;zone balance&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4022FC || 0x4358B0 || int || __cdecl || &#039;&#039;&#039;SimulationGrowthTick&#039;&#039;&#039; || __int16 a1, __int16 a2 || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; on days 4-17 || The arguments and algorithms are not yet understood.&lt;br /&gt;
|-&lt;br /&gt;
| 0x402527 || 0x45CF10 || int || __stdcall || &#039;&#039;&#039;SimulationStartDisaster&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; || Calls the appropriate disaster creation function and then runs disaster ticks&lt;br /&gt;
|-&lt;br /&gt;
| 0x4026B2 || 0x4734A0 || int || __usercall || &#039;&#039;&#039;SimulationGrowSpecificZone&#039;&#039;&#039; || int a1@&amp;lt;ebp&amp;gt;, __int16 iX, __int16 iY, __int16 iTileID, __int16 iZoneType || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationGrowthTick&#039;&#039;&#039; || Might be an omit-frame-pointer function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4026F8 || 0x467860 || int || __stdcall || &#039;&#039;&#039;SimulationUpdatePowerConsumption&#039;&#039;&#039; ||  || {{Barely explored}} || Called whenever tiles are placed and on &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 21 || Vanilla SC2K doesn&#039;t call this when tiles are placed on cities over 50,000 pop.&lt;br /&gt;
|-&lt;br /&gt;
| 0x402A3B || 0x405AB0 || DWORD || __thiscall || &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; || CWinApp* this || {{Somewhat understood}} || Called from &#039;&#039;&#039;CWinApp::OnIdle&#039;&#039;&#039; via the class CWinApp vtable || Could stand to have a better name.&lt;br /&gt;
|-&lt;br /&gt;
| 0x402A9F || 0x40C100 || __int16 || __tstdcall || &#039;&#039;&#039;SimulationProcessTimer&#039;&#039;&#039; ||  || {{Mostly understood}} || Called from the root window&#039;s AFX_MSGMAP to handle WM_TIMER messages ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x402D2E || 0x4734A0 || __int16 || __stdcall || &#039;&#039;&#039;SimulationCalculateBudgetUpdates&#039;&#039;&#039; ||  || {{Barely explored}} ||  || 00&lt;br /&gt;
|-&lt;br /&gt;
| 0x403017 || 0x4142C0 || int || __stdcall || &#039;&#039;&#039;SimulationProposeMilitaryBase&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; on day 23 and from &amp;quot;gilmartin&amp;quot; cheat || &lt;br /&gt;
|-&lt;br /&gt;
| 0x401154 || 0x46A840 || int || __stdcall || &#039;&#039;&#039;[[SimulationPollutionTerrainLandValueScan]]&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; on day 3 || This is where the land value, pollution and other things simulators lives.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4025A4 || 0x4302E0 || int || __thiscall || &#039;&#039;&#039;LoadSegmentsFromSavedCity&#039;&#039;&#039; || void *this, int *a2, char *Src || {{Barely explored}} ||  || Seems to be related to the loading / parsing of segments from a saved SC2 file&lt;br /&gt;
|-&lt;br /&gt;
| 0x4025A9 || 0x42D940 || int || || &#039;&#039;&#039;ClearMapsAndOtherThingsFromMemory&#039;&#039;&#039; || || {{Barely explored}} || Appears to be called when the game is about to close down || Seems to clear / reinitialize a number of global variables&lt;br /&gt;
|-&lt;br /&gt;
| 0x402315 || 0x42E460 || int || || &#039;&#039;&#039;NewGameSetup&#039;&#039;&#039; || || {{Barely explored}} || Usually called whenever a new game is started. || &lt;br /&gt;
|-&lt;br /&gt;
| 0x402900 || 0x47B5C0 || int || || &#039;&#039;&#039;NewspaperStoryGenerator&#039;&#039;&#039; || __int16 storyType, char passValue || {{Barely explored}} || This function gets called whenever a [[newspaper]] story is needed to be generated. || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ [[MicroSim]] functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401460 || 0x44CF60 || char || __cdecl || &#039;&#039;&#039;SimulationProvisionMicrosim&#039;&#039;&#039; || __int16 a1, int a2, __int16 iTileID || {{Barely explored}} ||  || iTileID is the only argument used; needs some RE work for sure&lt;br /&gt;
|-&lt;br /&gt;
| 0x40158C || 0x44DDC0 || __int16 || __cdecl || &#039;&#039;&#039;SimulationInitializeMicrosim&#039;&#039;&#039; || __int16 iMicroSimIdx, __int16 iTileID || {{Barely explored}} ||  || Seems to initialize the values for each microsim based on the provided tile ID. First param is an index into the XLAB map.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ [[Thing]] functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x40132A || 0x4562E0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickSailboat&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || Has a rare chance of turning into Nessie&lt;br /&gt;
|-&lt;br /&gt;
| 0x40137F || 0x454EA0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickTornado&#039;&#039;&#039; ||__int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| 0x401992 || 0x4548C0 || void || __usercall || &#039;&#039;&#039;SimulationThingTickMonster&#039;&#039;&#039; || int a1@&amp;lt;ebx&amp;gt;, __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || The function signature of this one is odd and needs investigation.&lt;br /&gt;
|-&lt;br /&gt;
| 0x401B6D || 0x455500 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickTrain&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || Used for XTHG_TRAIN_ENGINE and XTHG_UNKNOWN_3&lt;br /&gt;
|-&lt;br /&gt;
| 0x401EBA || 0x452FA0 || int || __cdecl || &#039;&#039;&#039;SimulationSpawnMaxisMan&#039;&#039;&#039; || __int16 iDisasterID || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationStartDisaster&#039;&#039;&#039; || Creates the Thing for Maxis Man and determines based on iDisasterID what his behavior should be&lt;br /&gt;
|-&lt;br /&gt;
| 0x40236F || 0x456760 || void || __usercall || &#039;&#039;&#039;SimulationThingTickCargoShip&#039;&#039;&#039; || int a1@&amp;lt;ebx&amp;gt;, __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || IDA really doesn&#039;t like this function for some reason&lt;br /&gt;
|-&lt;br /&gt;
| 0x402464 || 0x450890 || int || __stdcall || &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; ||  || {{Barely explored}} || Called from &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; via &#039;&#039;sub_401DBB&#039;&#039; || Does the individual simulation ticks for Things every 30-45 ms.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4024AA || 0x455020 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickMaxisMan&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || If you shoot down a helicopter and it lights something on fire, it&#039;s your own dang fault&lt;br /&gt;
|-&lt;br /&gt;
| 0x4027A2 || 0x453980 || void || __usercall || &#039;&#039;&#039;SimulationThingTickAirplane&#039;&#039;&#039; || int a1@&amp;lt;ebx&amp;gt;, __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || Another one with a bizarre function signature&lt;br /&gt;
|-&lt;br /&gt;
| 0x4028D3 || 0x4546F0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickExplosion&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| 0x402ED2 || 0x4540C0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickHelicopter&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Sound and music functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401096 || 0x4251D0 || int || __thiscall || &#039;&#039;&#039;SoundPlaySound&#039;&#039;&#039; || int* this, int iSoundID || {{Mostly understood}} || Called in so many places || Calls through to &#039;&#039;sub_4802B0&#039;&#039;, which does the buffer loads and calls to &#039;&#039;sndPlaySoundA&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x401389 || 0x480890 || MCIERROR || __thiscall || &#039;&#039;&#039;MusicSendMCICommands&#039;&#039;&#039; || unsigned __int16* this, char* szMidiPath || {{Understood}} || Called by &#039;&#039;&#039;MusicPlayMidi&#039;&#039;&#039; || Sends the actual MCI commands to play/stop a MIDI file&lt;br /&gt;
|-&lt;br /&gt;
| 0x401479 || 0x480770 || MCIERROR || __thiscall || &#039;&#039;&#039;MusicPlayMidi&#039;&#039;&#039; || unsigned __int16* this, int iSongID || {{Understood}} || Called by &#039;&#039;&#039;MusicPlay&#039;&#039;&#039; || Turns iSongID into szMidiPath&lt;br /&gt;
|-&lt;br /&gt;
| 0x4015FF || 0x480B20 || void || __thiscall || &#039;&#039;&#039;AllocateSoundBuffers&#039;&#039;&#039; || DWORD *this, int a2 || {{Barely explored}} || Called by &#039;&#039;&#039;CMainFrame:OnCreate&#039;&#039;&#039; || Allocates sound buffers; replaced by sc2kfix&lt;br /&gt;
|-&lt;br /&gt;
| 0x401A9B || 0x425290 || int || __thiscall || &#039;&#039;&#039;MusicPlayNextRefocusSong&#039;&#039;&#039; || unsigned __int16** this || {{Understood}} || Called in a few places || Loops through the non-event music; replaced by sc2kfix&lt;br /&gt;
|-&lt;br /&gt;
| 0x401CE9 || 0x425220 || int || __thiscall || &#039;&#039;&#039;SoundStopSound&#039;&#039;&#039; || int* this, int iSoundID || {{Understood}} || Called in so many places || Does a few checks then blasts out &#039;&#039;sndPlaySoundA(0, 0)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x401F9B || 0x480140 || void || __stdcall || &#039;&#039;&#039;LoadSoundBuffer&#039;&#039;&#039; || int iSoundID, void* lpBuffer || {{Understood}} || Called before a few sound calls || This and many other sound functions are replaced by sc2kfix&lt;br /&gt;
|-&lt;br /&gt;
| 0x402414 || 0x425260 || int || __thiscall || &#039;&#039;&#039;MusicPlay&#039;&#039;&#039; || unsigned __int16** this, iSongID || {{Understood}} || Called by anything that changes the music || Basically just a trampoline to &#039;&#039;&#039;MusicPlayMidi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4027E8 || 0x48A3F0 || LRESULT || __stdcall || &#039;&#039;&#039;MaxisMovieWndProc&#039;&#039;&#039; || HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam || {{Mostly understood}} || Registered as window class &amp;quot;MaxisMovie&amp;quot; by sub_405650 || Window procedure for the &amp;quot;fullscreen&amp;quot; window that plays Smacker movies&lt;br /&gt;
|-&lt;br /&gt;
| 0x402BE4 || 0x480AE0 || MCIERROR || __thiscall || &#039;&#039;&#039;MusicStop&#039;&#039;&#039; || int this || {{Understood}} || Called by anything that stops the music || Sends an MCI_CLOSE command to the sequencer device&lt;br /&gt;
|-&lt;br /&gt;
| 0x48A370 || || BOOL || __cdecl || &#039;&#039;&#039;MaxisMovieBlitNextFrame&#039;&#039;&#039; || HWND hWnd || {{Understood}} || Called by &#039;&#039;&#039;MaxisMovieWndProc&#039;&#039;&#039; from WM_PAINT message || Blits the next frame of a Smacker movie onto the MaxisMovie window&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Randomness functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401019 || 0x47FC30 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod32&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 32&lt;br /&gt;
|-&lt;br /&gt;
| 0x40116D || 0x47FAA0 || __int16 || __cdecl || &#039;&#039;&#039;RandomWordLCGMod&#039;&#039;&#039; || __int16 iModulus || {{Understood}} ||  || Returns a random word from the LCG modulo iModulus&lt;br /&gt;
|-&lt;br /&gt;
| 0x401415 || 0x47FC70 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod64&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 64&lt;br /&gt;
|-&lt;br /&gt;
| 0x4017AD || 0x47FAE0 || int || __stdcall || &#039;&#039;&#039;GetRandomLFSRState&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns the state of the LFSR&lt;br /&gt;
|-&lt;br /&gt;
| 0x401CAD || 0x47FAF0 || __int16 || __cdecl || &#039;&#039;&#039;RandomWordLFSRMod&#039;&#039;&#039; || __int16 iModulus || {{Understood}} ||  || Returns a random word from the LFSR modulo iModulus&lt;br /&gt;
|-&lt;br /&gt;
| 0x401D9D || 0x47FCF0 || unsigned __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSR&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR&lt;br /&gt;
|-&lt;br /&gt;
| 0x401F19 || 0x47FA80 || int || __cdecl || &#039;&#039;&#039;SeedRandomLCG&#039;&#039;&#039; || int iSeed || {{Understood}} ||  || Sets the LCG state&lt;br /&gt;
|-&lt;br /&gt;
| 0x402261 || 0x47FB70 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod4&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 4&lt;br /&gt;
|-&lt;br /&gt;
| 0x4025E5 || 0x47FBF0 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod16&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 16&lt;br /&gt;
|-&lt;br /&gt;
| 0x402626 || 0x47FAD0 || int || __cdecl || &#039;&#039;&#039;SeedRandomLFSR&#039;&#039;&#039; || int iSeed || {{Understood}} ||  || Sets the LFSR state&lt;br /&gt;
|-&lt;br /&gt;
| 0x40288D || 0x47FBB0 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod8&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 8&lt;br /&gt;
|-&lt;br /&gt;
| 0x402946 || 0x47FB30 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod2&#039;&#039;&#039; ||  || {{Understood}} || Called by &#039;&#039;&#039;SimulationThingTickTrain&#039;&#039;&#039; and &#039;&#039;&#039;SimulationDoDisasterTick&#039;&#039;&#039; || Returns a random word from the LFSR modulo 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x402B3F || 0x47FCB0 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod128&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 128&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Frequently-reused MFC class functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x40219E || 0x4815E0 || INT_PTR || __thiscall || &#039;&#039;&#039;CGameDialog::DoModal&#039;&#039;&#039; || LPCDLGTEMPLATEA* this || {{Understood}} || Called in so many places || Seems to pause the simulation, call CDialog::DoModal(this), then restore the simulation.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40281A || 0x481300 || struct CRuntimeClass* || __stdcall || &#039;&#039;&#039;CGameDialog::GetRuntimeClass&#039;&#039;&#039; ||  || {{Understood}} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=750</id>
		<title>Newspaper</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=750"/>
		<updated>2025-03-24T11:59:09Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Newspaper subsystem is mostly flavor text but provides general feedback for &amp;quot;City Issues&amp;quot;, replacing &amp;quot;Survey&amp;quot; in Simcity Classic.&lt;br /&gt;
==Removed Mac OS Debug Menu==&lt;br /&gt;
[[File:SimCity 2000 (Mac OS Classic) - PaperText.png|thumb|Mac OS screenshot of removed menu]]&lt;br /&gt;
In the MacOS Simcity 2000 1.0 release a hidden nonfunctional debug menu of all the possible newspaper story types was left in the release copy. This was later completely removed in 1.2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ This and a &amp;quot;Pass-Value&amp;quot; are required for the func.&lt;br /&gt;
|-&lt;br /&gt;
! Number !! Story-type !! Pass-value !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Weather|| unknown || Weather&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Junk ||  0 ||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Founding||  0 ||City Founded&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Growth ||  wCityProgression ||City Progress (Mayor&#039;s House, City Hall)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Invent ||  inventionID ||Technology invented&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Innovate ||  inventionID - 7 ||Technology invented&lt;br /&gt;
|-&lt;br /&gt;
| 6 || War || 0 || Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Market ||  wNationalEconomyTrend || when trends change, a new story is made&lt;br /&gt;
|- &lt;br /&gt;
| 8 || Sports||  rand() % 5 ||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Fed Rate Up ||  wNationalTax || Related to Fed rate increased.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Fed Rate Down ||  wNationalTax || Related to Fed rate decreased.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Politics||  0||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Diplomacy|| 0||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Disaster||0||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Medical|| 0||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 15 || Upbeat|| 0||Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 16 || High Crime|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 17 || High Traffic|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 18 || High Pollute|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 19 || Poor Educate|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 20 || Poor Health|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 21 || Poor Employment|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 22 || Fire|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 23 || Flood|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 24 || Plane Crash|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 25 || Heli Crash|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 26 || Tornado|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 27 || Earthquake|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 28 || Monster|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 29 || Meltdown|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 30 || Microwave|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 31 || Volcano|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 32 || Pollution|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 33 || Chemical Spill|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 34 || Hurricane|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 35 || Riot|| word_4E86B4||&lt;br /&gt;
|-&lt;br /&gt;
| 36 || Old Power Plant|| unknown ||&lt;br /&gt;
|-&lt;br /&gt;
| 37 || Overcrowded Prisons|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 38 || Teachers Complain|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 39 || Bridge Collapse|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 40 || Bulldozer Upset|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 41 || Ordinance || OrdinanceNumber (0 - 19)|| whenever the city council randomly passes an ordinance a story is generated&lt;br /&gt;
|-&lt;br /&gt;
| 42 || Freds Opinion|| ||&lt;br /&gt;
|-&lt;br /&gt;
| 43 || Editor Opinion|| ||&lt;br /&gt;
|-&lt;br /&gt;
| 44 || Survey|| ||&lt;br /&gt;
|-&lt;br /&gt;
| 45 || MisSim|| ||&lt;br /&gt;
|-&lt;br /&gt;
| 46 || Power Demand|| 0||&lt;br /&gt;
|-&lt;br /&gt;
| 47 || Transit Demand&lt;br /&gt;
|-&lt;br /&gt;
| 48 || Police Demand&lt;br /&gt;
|-&lt;br /&gt;
| 49 || Fire Demand&lt;br /&gt;
|-&lt;br /&gt;
| 50 || Water Demand&lt;br /&gt;
|-&lt;br /&gt;
| 51 || Hospital Demand&lt;br /&gt;
|-&lt;br /&gt;
| 52 || School Demand&lt;br /&gt;
|-&lt;br /&gt;
| 53 || Seaport Demand&lt;br /&gt;
|-&lt;br /&gt;
| 54 || Airport Demand&lt;br /&gt;
|-&lt;br /&gt;
| 55 || Zoo Demand&lt;br /&gt;
|-&lt;br /&gt;
| 56 || Stadium Demand&lt;br /&gt;
|-&lt;br /&gt;
| 57 || Marina Demand&lt;br /&gt;
|-&lt;br /&gt;
| 58 || Park Demand&lt;br /&gt;
|-&lt;br /&gt;
| 59 || Ind Connex Demand&lt;br /&gt;
|-&lt;br /&gt;
| 60 || Com Connex Demand&lt;br /&gt;
|-&lt;br /&gt;
| 61 || Low Crime&lt;br /&gt;
|-&lt;br /&gt;
| 62 || Low Traffic&lt;br /&gt;
|-&lt;br /&gt;
| 63 || Low Pollute&lt;br /&gt;
|-&lt;br /&gt;
| 64 || Good Educate&lt;br /&gt;
|-&lt;br /&gt;
| 65 || Good Health&lt;br /&gt;
|-&lt;br /&gt;
| 66 || Good Employment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=749</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=749"/>
		<updated>2025-03-24T11:03:39Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: added new vars&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Interest rates of all outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wSetTriggerDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA93C || WORD || &#039;&#039;&#039;wCurrentDisasterType&#039;&#039;&#039; ||  || The Disaster ID for the current/ongoing disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four neighbor cities (32 bytes each), clockwise from bottom left&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=748</id>
		<title>Newspaper</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=748"/>
		<updated>2025-03-23T20:17:49Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Newspaper subsystem is mostly flavor text but provides general feedback for &amp;quot;City Issues&amp;quot;, replacing &amp;quot;Survey&amp;quot; in Simcity Classic.&lt;br /&gt;
==Removed Mac OS Debug Menu==&lt;br /&gt;
[[File:SimCity 2000 (Mac OS Classic) - PaperText.png|thumb|Mac OS screenshot of removed menu]]&lt;br /&gt;
In the MacOS Simcity 2000 1.0 release a hidden nonfunctional debug menu of all the possible newspaper story types was left in the release copy. This was later completely removed in 1.2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ This and a &amp;quot;Pass-Value&amp;quot; are required for the func.&lt;br /&gt;
|-&lt;br /&gt;
! Number !! Story-type !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Weather|| Weather&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Junk || Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Founding|| City Founded&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Growth || City Progress (Mayor&#039;s House, City Hall)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Invent || Technology invented&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Innovate || Technology invented&lt;br /&gt;
|-&lt;br /&gt;
| 6 || War || Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Market || Related to NationalTrend&lt;br /&gt;
|- &lt;br /&gt;
| 8 || Sports|| Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Fed Rate Up || Related to Fed rate increased.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Fed Rate Down || Related to Fed rate decreased.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Politics|| Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Diplomacy|| Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Disaster|| Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Medical|| Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 15 || Upbeat|| Filler story&lt;br /&gt;
|-&lt;br /&gt;
| 16 || High Crime&lt;br /&gt;
|-&lt;br /&gt;
| 17 || High Traffic&lt;br /&gt;
|-&lt;br /&gt;
| 18 || High Pollute&lt;br /&gt;
|-&lt;br /&gt;
| 19 || Poor Educate&lt;br /&gt;
|-&lt;br /&gt;
| 20 || Poor Health&lt;br /&gt;
|-&lt;br /&gt;
| 21 || Poor Employment&lt;br /&gt;
|-&lt;br /&gt;
| 22 || Fire&lt;br /&gt;
|-&lt;br /&gt;
| 23 || Flood&lt;br /&gt;
|-&lt;br /&gt;
| 24 || Plane Crash&lt;br /&gt;
|-&lt;br /&gt;
| 25 || Heli Crash&lt;br /&gt;
|-&lt;br /&gt;
| 26 || Tornado&lt;br /&gt;
|-&lt;br /&gt;
| 27 || Earthquake&lt;br /&gt;
|-&lt;br /&gt;
| 28 || Monster&lt;br /&gt;
|-&lt;br /&gt;
| 29 || Meltdown&lt;br /&gt;
|-&lt;br /&gt;
| 30 || Microwave&lt;br /&gt;
|-&lt;br /&gt;
| 31 || Volcano&lt;br /&gt;
|-&lt;br /&gt;
| 32 || Pollution&lt;br /&gt;
|-&lt;br /&gt;
| 33 || Chemical Spill&lt;br /&gt;
|-&lt;br /&gt;
| 34 || Hurricane&lt;br /&gt;
|-&lt;br /&gt;
| 35 || Riot&lt;br /&gt;
|-&lt;br /&gt;
| 36 || Old Power Plant&lt;br /&gt;
|-&lt;br /&gt;
| 37 || Overcrowded Prisons&lt;br /&gt;
|-&lt;br /&gt;
| 38 || Teachers Complain&lt;br /&gt;
|-&lt;br /&gt;
| 39 || Bridge Collapse&lt;br /&gt;
|-&lt;br /&gt;
| 40 || Bulldozer Upset&lt;br /&gt;
|-&lt;br /&gt;
| 41 || Ordinance&lt;br /&gt;
|-&lt;br /&gt;
| 42 || Freds Opinion&lt;br /&gt;
|-&lt;br /&gt;
| 43 || Editor Opinion&lt;br /&gt;
|-&lt;br /&gt;
| 44 || Survey&lt;br /&gt;
|-&lt;br /&gt;
| 45 || MisSim&lt;br /&gt;
|-&lt;br /&gt;
| 46 || Power Demand&lt;br /&gt;
|-&lt;br /&gt;
| 47 || Transit Demand&lt;br /&gt;
|-&lt;br /&gt;
| 48 || Police Demand&lt;br /&gt;
|-&lt;br /&gt;
| 49 || Fire Demand&lt;br /&gt;
|-&lt;br /&gt;
| 50 || Water Demand&lt;br /&gt;
|-&lt;br /&gt;
| 51 || Hospital Demand&lt;br /&gt;
|-&lt;br /&gt;
| 52 || School Demand&lt;br /&gt;
|-&lt;br /&gt;
| 53 || Seaport Demand&lt;br /&gt;
|-&lt;br /&gt;
| 54 || Airport Demand&lt;br /&gt;
|-&lt;br /&gt;
| 55 || Zoo Demand&lt;br /&gt;
|-&lt;br /&gt;
| 56 || Stadium Demand&lt;br /&gt;
|-&lt;br /&gt;
| 57 || Marina Demand&lt;br /&gt;
|-&lt;br /&gt;
| 58 || Park Demand&lt;br /&gt;
|-&lt;br /&gt;
| 59 || Ind Connex Demand&lt;br /&gt;
|-&lt;br /&gt;
| 60 || Com Connex Demand&lt;br /&gt;
|-&lt;br /&gt;
| 61 || Low Crime&lt;br /&gt;
|-&lt;br /&gt;
| 62 || Low Traffic&lt;br /&gt;
|-&lt;br /&gt;
| 63 || Low Pollute&lt;br /&gt;
|-&lt;br /&gt;
| 64 || Good Educate&lt;br /&gt;
|-&lt;br /&gt;
| 65 || Good Health&lt;br /&gt;
|-&lt;br /&gt;
| 66 || Good Employment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=747</id>
		<title>Newspaper</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=747"/>
		<updated>2025-03-23T20:10:24Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Newspaper subsystem is mostly flavor text but provides general feedback for &amp;quot;City Issues&amp;quot;, replacing &amp;quot;Survey&amp;quot; in Simcity Classic.&lt;br /&gt;
==Removed Mac OS Debug Menu==&lt;br /&gt;
[[File:SimCity 2000 (Mac OS Classic) - PaperText.png|thumb|Mac OS screenshot of removed menu]]&lt;br /&gt;
In the MacOS Simcity 2000 1.0 release a hidden nonfunctional debug menu of all the possible newspaper story types was left in the release copy. This was later completely removed in 1.2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ This and a &amp;quot;Pass-Value&amp;quot; are required for the func.&lt;br /&gt;
|-&lt;br /&gt;
! Number !! Story-type !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Weather||&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Junk||&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Founding|| City Founded&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Growth || City Progress (Mayor&#039;s House, City Hall)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Invent || Technology invented&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Innovate || Technology invented&lt;br /&gt;
|-&lt;br /&gt;
| 6 || War&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Market&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Sports&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Fed Rate Up&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Fed Rate Down&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Politics&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Diplomacy&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Disaster&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Medical&lt;br /&gt;
|-&lt;br /&gt;
| 15 || Upbeat&lt;br /&gt;
|-&lt;br /&gt;
| 16 || High Crime&lt;br /&gt;
|-&lt;br /&gt;
| 17 || High Traffic&lt;br /&gt;
|-&lt;br /&gt;
| 18 || High Pollute&lt;br /&gt;
|-&lt;br /&gt;
| 19 || Poor Educate&lt;br /&gt;
|-&lt;br /&gt;
| 20 || Poor Health&lt;br /&gt;
|-&lt;br /&gt;
| 21 || Poor Employment&lt;br /&gt;
|-&lt;br /&gt;
| 22 || Fire&lt;br /&gt;
|-&lt;br /&gt;
| 23 || Flood&lt;br /&gt;
|-&lt;br /&gt;
| 24 || Plane Crash&lt;br /&gt;
|-&lt;br /&gt;
| 25 || Heli Crash&lt;br /&gt;
|-&lt;br /&gt;
| 26 || Tornado&lt;br /&gt;
|-&lt;br /&gt;
| 27 || Earthquake&lt;br /&gt;
|-&lt;br /&gt;
| 28 || Monster&lt;br /&gt;
|-&lt;br /&gt;
| 29 || Meltdown&lt;br /&gt;
|-&lt;br /&gt;
| 30 || Microwave&lt;br /&gt;
|-&lt;br /&gt;
| 31 || Volcano&lt;br /&gt;
|-&lt;br /&gt;
| 32 || Pollution&lt;br /&gt;
|-&lt;br /&gt;
| 33 || Chemical Spill&lt;br /&gt;
|-&lt;br /&gt;
| 34 || Hurricane&lt;br /&gt;
|-&lt;br /&gt;
| 35 || Riot&lt;br /&gt;
|-&lt;br /&gt;
| 36 || Old Power Plant&lt;br /&gt;
|-&lt;br /&gt;
| 37 || Overcrowded Prisons&lt;br /&gt;
|-&lt;br /&gt;
| 38 || Teachers Complain&lt;br /&gt;
|-&lt;br /&gt;
| 39 || Bridge Collapse&lt;br /&gt;
|-&lt;br /&gt;
| 40 || Bulldozer Upset&lt;br /&gt;
|-&lt;br /&gt;
| 41 || Ordinance&lt;br /&gt;
|-&lt;br /&gt;
| 42 || Freds Opinion&lt;br /&gt;
|-&lt;br /&gt;
| 43 || Editor Opinion&lt;br /&gt;
|-&lt;br /&gt;
| 44 || Survey&lt;br /&gt;
|-&lt;br /&gt;
| 45 || MisSim&lt;br /&gt;
|-&lt;br /&gt;
| 46 || Power Demand&lt;br /&gt;
|-&lt;br /&gt;
| 47 || Transit Demand&lt;br /&gt;
|-&lt;br /&gt;
| 48 || Police Demand&lt;br /&gt;
|-&lt;br /&gt;
| 49 || Fire Demand&lt;br /&gt;
|-&lt;br /&gt;
| 50 || Water Demand&lt;br /&gt;
|-&lt;br /&gt;
| 51 || Hospital Demand&lt;br /&gt;
|-&lt;br /&gt;
| 52 || School Demand&lt;br /&gt;
|-&lt;br /&gt;
| 53 || Seaport Demand&lt;br /&gt;
|-&lt;br /&gt;
| 54 || Airport Demand&lt;br /&gt;
|-&lt;br /&gt;
| 55 || Zoo Demand&lt;br /&gt;
|-&lt;br /&gt;
| 56 || Stadium Demand&lt;br /&gt;
|-&lt;br /&gt;
| 57 || Marina Demand&lt;br /&gt;
|-&lt;br /&gt;
| 58 || Park Demand&lt;br /&gt;
|-&lt;br /&gt;
| 59 || Ind Connex Demand&lt;br /&gt;
|-&lt;br /&gt;
| 60 || Com Connex Demand&lt;br /&gt;
|-&lt;br /&gt;
| 61 || Low Crime&lt;br /&gt;
|-&lt;br /&gt;
| 62 || Low Traffic&lt;br /&gt;
|-&lt;br /&gt;
| 63 || Low Pollute&lt;br /&gt;
|-&lt;br /&gt;
| 64 || Good Educate&lt;br /&gt;
|-&lt;br /&gt;
| 65 || Good Health&lt;br /&gt;
|-&lt;br /&gt;
| 66 || Good Employment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=File:SimCity_2000_(Mac_OS_Classic)_-_PaperText.png&amp;diff=746</id>
		<title>File:SimCity 2000 (Mac OS Classic) - PaperText.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=File:SimCity_2000_(Mac_OS_Classic)_-_PaperText.png&amp;diff=746"/>
		<updated>2025-03-23T20:09:50Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A screenshot by Daxeria from the Cutting Room Floor wiki showcasing the removed menu from Simcity 2000 1.0 from MacOS.&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=745</id>
		<title>Newspaper</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=745"/>
		<updated>2025-03-23T20:07:31Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Newspaper subsystem is mostly flavor text but provides general feedback for &amp;quot;City Issues&amp;quot;, replacing &amp;quot;Survey&amp;quot; in Simcity Classic.&lt;br /&gt;
==Removed Mac OS Debug Menu==&lt;br /&gt;
In the MacOS Simcity 2000 1.0 release a hidden nonfunctional debug menu of all the possible newspaper story types was left in the release copy. This was later completely removed in 1.2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ This and a &amp;quot;Pass-Value&amp;quot; are required for the func.&lt;br /&gt;
|-&lt;br /&gt;
! Number !! Story-type !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Weather||&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Junk||&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Founding|| City Founded&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Growth || City Progress (Mayor&#039;s House, City Hall)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Invent || Technology invented&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Innovate || Technology invented&lt;br /&gt;
|-&lt;br /&gt;
| 6 || War&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Market&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Sports&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Fed Rate Up&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Fed Rate Down&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Politics&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Diplomacy&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Disaster&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Medical&lt;br /&gt;
|-&lt;br /&gt;
| 15 || Upbeat&lt;br /&gt;
|-&lt;br /&gt;
| 16 || High Crime&lt;br /&gt;
|-&lt;br /&gt;
| 17 || High Traffic&lt;br /&gt;
|-&lt;br /&gt;
| 18 || High Pollute&lt;br /&gt;
|-&lt;br /&gt;
| 19 || Poor Educate&lt;br /&gt;
|-&lt;br /&gt;
| 20 || Poor Health&lt;br /&gt;
|-&lt;br /&gt;
| 21 || Poor Employment&lt;br /&gt;
|-&lt;br /&gt;
| 22 || Fire&lt;br /&gt;
|-&lt;br /&gt;
| 23 || Flood&lt;br /&gt;
|-&lt;br /&gt;
| 24 || Plane Crash&lt;br /&gt;
|-&lt;br /&gt;
| 25 || Heli Crash&lt;br /&gt;
|-&lt;br /&gt;
| 26 || Tornado&lt;br /&gt;
|-&lt;br /&gt;
| 27 || Earthquake&lt;br /&gt;
|-&lt;br /&gt;
| 28 || Monster&lt;br /&gt;
|-&lt;br /&gt;
| 29 || Meltdown&lt;br /&gt;
|-&lt;br /&gt;
| 30 || Microwave&lt;br /&gt;
|-&lt;br /&gt;
| 31 || Volcano&lt;br /&gt;
|-&lt;br /&gt;
| 32 || Pollution&lt;br /&gt;
|-&lt;br /&gt;
| 33 || Chemical Spill&lt;br /&gt;
|-&lt;br /&gt;
| 34 || Hurricane&lt;br /&gt;
|-&lt;br /&gt;
| 35 || Riot&lt;br /&gt;
|-&lt;br /&gt;
| 36 || Old Power Plant&lt;br /&gt;
|-&lt;br /&gt;
| 37 || Overcrowded Prisons&lt;br /&gt;
|-&lt;br /&gt;
| 38 || Teachers Complain&lt;br /&gt;
|-&lt;br /&gt;
| 39 || Bridge Collapse&lt;br /&gt;
|-&lt;br /&gt;
| 40 || Bulldozer Upset&lt;br /&gt;
|-&lt;br /&gt;
| 41 || Ordinance&lt;br /&gt;
|-&lt;br /&gt;
| 42 || Freds Opinion&lt;br /&gt;
|-&lt;br /&gt;
| 43 || Editor Opinion&lt;br /&gt;
|-&lt;br /&gt;
| 44 || Survey&lt;br /&gt;
|-&lt;br /&gt;
| 45 || MisSim&lt;br /&gt;
|-&lt;br /&gt;
| 46 || Power Demand&lt;br /&gt;
|-&lt;br /&gt;
| 47 || Transit Demand&lt;br /&gt;
|-&lt;br /&gt;
| 48 || Police Demand&lt;br /&gt;
|-&lt;br /&gt;
| 49 || Fire Demand&lt;br /&gt;
|-&lt;br /&gt;
| 50 || Water Demand&lt;br /&gt;
|-&lt;br /&gt;
| 51 || Hospital Demand&lt;br /&gt;
|-&lt;br /&gt;
| 52 || School Demand&lt;br /&gt;
|-&lt;br /&gt;
| 53 || Seaport Demand&lt;br /&gt;
|-&lt;br /&gt;
| 54 || Airport Demand&lt;br /&gt;
|-&lt;br /&gt;
| 55 || Zoo Demand&lt;br /&gt;
|-&lt;br /&gt;
| 56 || Stadium Demand&lt;br /&gt;
|-&lt;br /&gt;
| 57 || Marina Demand&lt;br /&gt;
|-&lt;br /&gt;
| 58 || Park Demand&lt;br /&gt;
|-&lt;br /&gt;
| 59 || Ind Connex Demand&lt;br /&gt;
|-&lt;br /&gt;
| 60 || Com Connex Demand&lt;br /&gt;
|-&lt;br /&gt;
| 61 || Low Crime&lt;br /&gt;
|-&lt;br /&gt;
| 62 || Low Traffic&lt;br /&gt;
|-&lt;br /&gt;
| 63 || Low Pollute&lt;br /&gt;
|-&lt;br /&gt;
| 64 || Good Educate&lt;br /&gt;
|-&lt;br /&gt;
| 65 || Good Health&lt;br /&gt;
|-&lt;br /&gt;
| 66 || Good Employment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Function_list&amp;diff=744</id>
		<title>Function list</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Function_list&amp;diff=744"/>
		<updated>2025-03-23T20:04:28Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of functions in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
When adding new functions to the table, please make sure you insert them into the appropriate order by thunk address (the function that just has a &amp;lt;code&amp;gt;jmp &#039;&#039;&#039;ActualFunctionBody&#039;&#039;&#039;&amp;lt;/code&amp;gt; instruction in it). If/when it gets too unwieldy we can split it out into multiple tables.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401262 || 0x468D30 || int || __stdcall || &#039;&#039;&#039;[[SimulationEQ_LE_Processing]]&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 22 || Handles EQ and LE simulation for the month.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40130C || 0x45F760 || {{Win32_BOOL}} || __stdcall || &#039;&#039;&#039;SimulationDoDisasterTick&#039;&#039;&#039; ||  || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationStartDisaster&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| 0x4013ED || 0x42BCA0 || int || __cdecl || &#039;&#039;&#039;SimulationCalculateOrdinanceCost&#039;&#039;&#039; || DWORD dwOrdinance || {{Mostly understood}} ||  || Returns the effective cost of an ordinance&lt;br /&gt;
|-&lt;br /&gt;
| 0x4015E6 || 0x4731E0 || int || __cdecl || &#039;&#039;&#039;SimulationPrepareBudgetDialog&#039;&#039;&#039; || int a1 || {{Mostly understood}} ||  || arg a1 only referenced on line, seems to be more like &amp;quot;BOOL bUseParentWindow&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x401672 || 0x441E50 || int || __cdecl || &#039;&#039;&#039;SimulationGrantReward&#039;&#039;&#039; || __int16 iRewardID, BOOL bAddReward || {{Mostly understood}} ||  || Adds a city progression reward if (bAddReward), removes it if (!bAddReward).&lt;br /&gt;
|-&lt;br /&gt;
| 0x40174E || 0x42B4D0 || int || __cdecl || &#039;&#039;&#039;SimulationPrepareDisaster&#039;&#039;&#039; || DWORD *a1, __int16 a2, __int16 a3 || {{Somewhat understood}} ||  || Seems to prepare the starting location for disasters.&lt;br /&gt;
|-&lt;br /&gt;
| 0x401820 || 0x413520 || void || __stdcall || &#039;&#039;&#039;[[SimulationProcessTick]]&#039;&#039;&#039; ||  || {{Mostly understood}} || Called from &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; based on game speed || Advances the calendar date and performs all appropriate daily/monthly/etc. tasks. May need better name?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4019EC || 0x4412E0 || int || __cdecl || &#039;&#039;&#039;CenterOnTileCoords&#039;&#039;&#039; || __int16 iTileX, __int16 iTileY || {{Somewhat understood}} || Called from the centering tool and anywhere that needs to center the display || &lt;br /&gt;
|-&lt;br /&gt;
| 0x401CA8 || 0x464550 || int || __stdcall || &#039;&#039;&#039;SimulationUpdateWaterConsumption&#039;&#039;&#039; ||  || {{Barely explored}} || Called whenever tiles are placed and on &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 2 || Vanilla SC2K doesn&#039;t call this when tiles are placed on cities over 50,000 pop.&lt;br /&gt;
|-&lt;br /&gt;
| 0x401E65 || 0x471BC0 || char || __stdcall || &#039;&#039;&#039;SimulationDetermineCityCrisis&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called on the last day of the month and from &#039;&#039;sub_406A50&#039;&#039; || Changes the city status line if there&#039;s a new demand, and also starts disasters.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40217B || 0x468150 || int || __stdcall || &#039;&#039;&#039;[[SimulationRCIDemandUpdates]]&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 22 || Handles all RCI bar updates for &amp;quot;zone balance&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4022FC || 0x4358B0 || int || __cdecl || &#039;&#039;&#039;SimulationGrowthTick&#039;&#039;&#039; || __int16 a1, __int16 a2 || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; on days 4-17 || The arguments and algorithms are not yet understood.&lt;br /&gt;
|-&lt;br /&gt;
| 0x402527 || 0x45CF10 || int || __stdcall || &#039;&#039;&#039;SimulationStartDisaster&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; || Calls the appropriate disaster creation function and then runs disaster ticks&lt;br /&gt;
|-&lt;br /&gt;
| 0x4026B2 || 0x4734A0 || int || __usercall || &#039;&#039;&#039;SimulationGrowSpecificZone&#039;&#039;&#039; || int a1@&amp;lt;ebp&amp;gt;, __int16 iX, __int16 iY, __int16 iTileID, __int16 iZoneType || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationGrowthTick&#039;&#039;&#039; || Might be an omit-frame-pointer function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4026F8 || 0x467860 || int || __stdcall || &#039;&#039;&#039;SimulationUpdatePowerConsumption&#039;&#039;&#039; ||  || {{Barely explored}} || Called whenever tiles are placed and on &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 21 || Vanilla SC2K doesn&#039;t call this when tiles are placed on cities over 50,000 pop.&lt;br /&gt;
|-&lt;br /&gt;
| 0x402A3B || 0x405AB0 || DWORD || __thiscall || &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; || CWinApp* this || {{Somewhat understood}} || Called from &#039;&#039;&#039;CWinApp::OnIdle&#039;&#039;&#039; via the class CWinApp vtable || Could stand to have a better name.&lt;br /&gt;
|-&lt;br /&gt;
| 0x402A9F || 0x40C100 || __int16 || __tstdcall || &#039;&#039;&#039;SimulationProcessTimer&#039;&#039;&#039; ||  || {{Mostly understood}} || Called from the root window&#039;s AFX_MSGMAP to handle WM_TIMER messages ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x402D2E || 0x4734A0 || __int16 || __stdcall || &#039;&#039;&#039;SimulationCalculateBudgetUpdates&#039;&#039;&#039; ||  || {{Barely explored}} ||  || 00&lt;br /&gt;
|-&lt;br /&gt;
| 0x403017 || 0x4142C0 || int || __stdcall || &#039;&#039;&#039;SimulationProposeMilitaryBase&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; on day 23 and from &amp;quot;gilmartin&amp;quot; cheat || &lt;br /&gt;
|-&lt;br /&gt;
| 0x401154 || 0x46A840 || int || __stdcall || &#039;&#039;&#039;[[SimulationPollutionTerrainLandValueScan]]&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; on day 3 || This is where the land value, pollution and other things simulators lives.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4025A4 || 0x4302E0 || int || __thiscall || &#039;&#039;&#039;LoadSegmentsFromSavedCity&#039;&#039;&#039; || void *this, int *a2, char *Src || {{Barely explored}} ||  || Seems to be related to the loading / parsing of segments from a saved SC2 file&lt;br /&gt;
|-&lt;br /&gt;
| 0x4025A9 || 0x42D940 || int || || &#039;&#039;&#039;ClearMapsAndOtherThingsFromMemory&#039;&#039;&#039; || || {{Barely explored}} || Appears to be called when the game is about to close down || Seems to clear / reinitialize a number of global variables&lt;br /&gt;
|-&lt;br /&gt;
| 0x402315 || 0x42E460 || int || || &#039;&#039;&#039;NewGameSetup&#039;&#039;&#039; || || {{Barely explored}} || Usually called whenever a new game is started. || &lt;br /&gt;
|-&lt;br /&gt;
| 0x402900 || 0x47B5C0 || int || || &#039;&#039;&#039;NewspaperStoryGenerator&#039;&#039;&#039; || __int16 storyType, char passValue || {{Barely explored}} || This function gets called whenever a [[newspaper]] story is needed to be generated. || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ [[MicroSim]] functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401460 || 0x44CF60 || char || __cdecl || &#039;&#039;&#039;SimulationProvisionMicrosim&#039;&#039;&#039; || __int16 a1, int a2, __int16 iTileID || {{Barely explored}} ||  || iTileID is the only argument used; needs some RE work for sure&lt;br /&gt;
|-&lt;br /&gt;
| 0x40158C || 0x44DDC0 || __int16 || __cdecl || &#039;&#039;&#039;SimulationInitializeMicrosim&#039;&#039;&#039; || __int16 iMicroSimIdx, __int16 iTileID || {{Barely explored}} ||  || Seems to initialize the values for each microsim based on the provided tile ID. First param is an index into the XLAB map.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ [[Thing]] functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x40132A || 0x4562E0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickSailboat&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || Has a rare chance of turning into Nessie&lt;br /&gt;
|-&lt;br /&gt;
| 0x40137F || 0x454EA0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickTornado&#039;&#039;&#039; ||__int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| 0x401992 || 0x4548C0 || void || __usercall || &#039;&#039;&#039;SimulationThingTickMonster&#039;&#039;&#039; || int a1@&amp;lt;ebx&amp;gt;, __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || The function signature of this one is odd and needs investigation.&lt;br /&gt;
|-&lt;br /&gt;
| 0x401B6D || 0x455500 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickTrain&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || Used for XTHG_TRAIN_ENGINE and XTHG_UNKNOWN_3&lt;br /&gt;
|-&lt;br /&gt;
| 0x401EBA || 0x452FA0 || int || __cdecl || &#039;&#039;&#039;SimulationSpawnMaxisMan&#039;&#039;&#039; || __int16 iDisasterID || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationStartDisaster&#039;&#039;&#039; || Creates the Thing for Maxis Man and determines based on iDisasterID what his behavior should be&lt;br /&gt;
|-&lt;br /&gt;
| 0x40236F || 0x456760 || void || __usercall || &#039;&#039;&#039;SimulationThingTickCargoShip&#039;&#039;&#039; || int a1@&amp;lt;ebx&amp;gt;, __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || IDA really doesn&#039;t like this function for some reason&lt;br /&gt;
|-&lt;br /&gt;
| 0x402464 || 0x450890 || int || __stdcall || &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; ||  || {{Barely explored}} || Called from &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; via &#039;&#039;sub_401DBB&#039;&#039; || Does the individual simulation ticks for Things every 30-45 ms.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4024AA || 0x455020 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickMaxisMan&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || If you shoot down a helicopter and it lights something on fire, it&#039;s your own dang fault&lt;br /&gt;
|-&lt;br /&gt;
| 0x4027A2 || 0x453980 || void || __usercall || &#039;&#039;&#039;SimulationThingTickAirplane&#039;&#039;&#039; || int a1@&amp;lt;ebx&amp;gt;, __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || Another one with a bizarre function signature&lt;br /&gt;
|-&lt;br /&gt;
| 0x4028D3 || 0x4546F0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickExplosion&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| 0x402ED2 || 0x4540C0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickHelicopter&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Sound and music functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401096 || 0x4251D0 || int || __thiscall || &#039;&#039;&#039;SoundPlaySound&#039;&#039;&#039; || int* this, int iSoundID || {{Mostly understood}} || Called in so many places || Calls through to &#039;&#039;sub_4802B0&#039;&#039;, which does the buffer loads and calls to &#039;&#039;sndPlaySoundA&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x401389 || 0x480890 || MCIERROR || __thiscall || &#039;&#039;&#039;MusicSendMCICommands&#039;&#039;&#039; || unsigned __int16* this, char* szMidiPath || {{Understood}} || Called by &#039;&#039;&#039;MusicPlayMidi&#039;&#039;&#039; || Sends the actual MCI commands to play/stop a MIDI file&lt;br /&gt;
|-&lt;br /&gt;
| 0x401479 || 0x480770 || MCIERROR || __thiscall || &#039;&#039;&#039;MusicPlayMidi&#039;&#039;&#039; || unsigned __int16* this, int iSongID || {{Understood}} || Called by &#039;&#039;&#039;MusicPlay&#039;&#039;&#039; || Turns iSongID into szMidiPath&lt;br /&gt;
|-&lt;br /&gt;
| 0x4015FF || 0x480B20 || void || __thiscall || &#039;&#039;&#039;AllocateSoundBuffers&#039;&#039;&#039; || DWORD *this, int a2 || {{Barely explored}} || Called by &#039;&#039;&#039;CMainFrame:OnCreate&#039;&#039;&#039; || Allocates sound buffers; replaced by sc2kfix&lt;br /&gt;
|-&lt;br /&gt;
| 0x401A9B || 0x425290 || int || __thiscall || &#039;&#039;&#039;MusicPlayNextRefocusSong&#039;&#039;&#039; || unsigned __int16** this || {{Understood}} || Called in a few places || Loops through the non-event music; replaced by sc2kfix&lt;br /&gt;
|-&lt;br /&gt;
| 0x401CE9 || 0x425220 || int || __thiscall || &#039;&#039;&#039;SoundStopSound&#039;&#039;&#039; || int* this, int iSoundID || {{Understood}} || Called in so many places || Does a few checks then blasts out &#039;&#039;sndPlaySoundA(0, 0)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x401F9B || 0x480140 || void || __stdcall || &#039;&#039;&#039;LoadSoundBuffer&#039;&#039;&#039; || int iSoundID, void* lpBuffer || {{Understood}} || Called before a few sound calls || This and many other sound functions are replaced by sc2kfix&lt;br /&gt;
|-&lt;br /&gt;
| 0x402414 || 0x425260 || int || __thiscall || &#039;&#039;&#039;MusicPlay&#039;&#039;&#039; || unsigned __int16** this, iSongID || {{Understood}} || Called by anything that changes the music || Basically just a trampoline to &#039;&#039;&#039;MusicPlayMidi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4027E8 || 0x48A3F0 || LRESULT || __stdcall || &#039;&#039;&#039;MaxisMovieWndProc&#039;&#039;&#039; || HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam || {{Mostly understood}} || Registered as window class &amp;quot;MaxisMovie&amp;quot; by sub_405650 || Window procedure for the &amp;quot;fullscreen&amp;quot; window that plays Smacker movies&lt;br /&gt;
|-&lt;br /&gt;
| 0x402BE4 || 0x480AE0 || MCIERROR || __thiscall || &#039;&#039;&#039;MusicStop&#039;&#039;&#039; || int this || {{Understood}} || Called by anything that stops the music || Sends an MCI_CLOSE command to the sequencer device&lt;br /&gt;
|-&lt;br /&gt;
| 0x48A370 || || BOOL || __cdecl || &#039;&#039;&#039;MaxisMovieBlitNextFrame&#039;&#039;&#039; || HWND hWnd || {{Understood}} || Called by &#039;&#039;&#039;MaxisMovieWndProc&#039;&#039;&#039; from WM_PAINT message || Blits the next frame of a Smacker movie onto the MaxisMovie window&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Randomness functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401019 || 0x47FC30 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod32&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 32&lt;br /&gt;
|-&lt;br /&gt;
| 0x40116D || 0x47FAA0 || __int16 || __cdecl || &#039;&#039;&#039;RandomWordLCGMod&#039;&#039;&#039; || __int16 iModulus || {{Understood}} ||  || Returns a random word from the LCG modulo iModulus&lt;br /&gt;
|-&lt;br /&gt;
| 0x401415 || 0x47FC70 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod64&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 64&lt;br /&gt;
|-&lt;br /&gt;
| 0x4017AD || 0x47FAE0 || int || __stdcall || &#039;&#039;&#039;GetRandomLFSRState&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns the state of the LFSR&lt;br /&gt;
|-&lt;br /&gt;
| 0x401CAD || 0x47FAF0 || __int16 || __cdecl || &#039;&#039;&#039;RandomWordLFSRMod&#039;&#039;&#039; || __int16 iModulus || {{Understood}} ||  || Returns a random word from the LFSR modulo iModulus&lt;br /&gt;
|-&lt;br /&gt;
| 0x401D9D || 0x47FCF0 || unsigned __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSR&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR&lt;br /&gt;
|-&lt;br /&gt;
| 0x401F19 || 0x47FA80 || int || __cdecl || &#039;&#039;&#039;SeedRandomLCG&#039;&#039;&#039; || int iSeed || {{Understood}} ||  || Sets the LCG state&lt;br /&gt;
|-&lt;br /&gt;
| 0x402261 || 0x47FB70 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod4&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 4&lt;br /&gt;
|-&lt;br /&gt;
| 0x4025E5 || 0x47FBF0 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod16&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 16&lt;br /&gt;
|-&lt;br /&gt;
| 0x402626 || 0x47FAD0 || int || __cdecl || &#039;&#039;&#039;SeedRandomLFSR&#039;&#039;&#039; || int iSeed || {{Understood}} ||  || Sets the LFSR state&lt;br /&gt;
|-&lt;br /&gt;
| 0x40288D || 0x47FBB0 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod8&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 8&lt;br /&gt;
|-&lt;br /&gt;
| 0x402946 || 0x47FB30 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod2&#039;&#039;&#039; ||  || {{Understood}} || Called by &#039;&#039;&#039;SimulationThingTickTrain&#039;&#039;&#039; and &#039;&#039;&#039;SimulationDoDisasterTick&#039;&#039;&#039; || Returns a random word from the LFSR modulo 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x402B3F || 0x47FCB0 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod128&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 128&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Frequently-reused MFC class functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x40219E || 0x4815E0 || INT_PTR || __thiscall || &#039;&#039;&#039;CGameDialog::DoModal&#039;&#039;&#039; || LPCDLGTEMPLATEA* this || {{Understood}} || Called in so many places || Seems to pause the simulation, call CDialog::DoModal(this), then restore the simulation.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40281A || 0x481300 || struct CRuntimeClass* || __stdcall || &#039;&#039;&#039;CGameDialog::GetRuntimeClass&#039;&#039;&#039; ||  || {{Understood}} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=743</id>
		<title>Newspaper</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=743"/>
		<updated>2025-03-23T20:00:22Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: +expanded&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Newspaper subsystem is mostly flavor text but provides general feedback for &amp;quot;City Issues&amp;quot;, replacing &amp;quot;Survey&amp;quot; in Simcity Classic.&lt;br /&gt;
==Removed Mac OS Debug Menu==&lt;br /&gt;
In the MacOS Simcity 2000 1.0 release a hidden nonfunctional debug menu of all the possible newspaper story types was left in the release copy. This was later completely removed in 1.2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ This and a &amp;quot;Pass-Value&amp;quot; are required for the func.&lt;br /&gt;
|-&lt;br /&gt;
! Number !! Story-type !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Weather&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Junk&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Founding&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Growth&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Invent&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Innovate&lt;br /&gt;
|-&lt;br /&gt;
| 6 || War&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Market&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Sports&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Fed Rate Up&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Fed Rate Down&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Politics&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Diplomacy&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Disaster&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Medical&lt;br /&gt;
|-&lt;br /&gt;
| 15 || Upbeat&lt;br /&gt;
|-&lt;br /&gt;
| 16 || High Crime&lt;br /&gt;
|-&lt;br /&gt;
| 17 || High Traffic&lt;br /&gt;
|-&lt;br /&gt;
| 18 || High Pollute&lt;br /&gt;
|-&lt;br /&gt;
| 19 || Poor Educate&lt;br /&gt;
|-&lt;br /&gt;
| 20 || Poor Health&lt;br /&gt;
|-&lt;br /&gt;
| 21 || Poor Employment&lt;br /&gt;
|-&lt;br /&gt;
| 22 || Fire&lt;br /&gt;
|-&lt;br /&gt;
| 23 || Flood&lt;br /&gt;
|-&lt;br /&gt;
| 24 || Plane Crash&lt;br /&gt;
|-&lt;br /&gt;
| 25 || Heli Crash&lt;br /&gt;
|-&lt;br /&gt;
| 26 || Tornado&lt;br /&gt;
|-&lt;br /&gt;
| 27 || Earthquake&lt;br /&gt;
|-&lt;br /&gt;
| 28 || Monster&lt;br /&gt;
|-&lt;br /&gt;
| 29 || Meltdown&lt;br /&gt;
|-&lt;br /&gt;
| 30 || Microwave&lt;br /&gt;
|-&lt;br /&gt;
| 31 || Volcano&lt;br /&gt;
|-&lt;br /&gt;
| 32 || Pollution&lt;br /&gt;
|-&lt;br /&gt;
| 33 || Chemical Spill&lt;br /&gt;
|-&lt;br /&gt;
| 34 || Hurricane&lt;br /&gt;
|-&lt;br /&gt;
| 35 || Riot&lt;br /&gt;
|-&lt;br /&gt;
| 36 || Old Power Plant&lt;br /&gt;
|-&lt;br /&gt;
| 37 || Overcrowded Prisons&lt;br /&gt;
|-&lt;br /&gt;
| 38 || Teachers Complain&lt;br /&gt;
|-&lt;br /&gt;
| 39 || Bridge Collapse&lt;br /&gt;
|-&lt;br /&gt;
| 40 || Bulldozer Upset&lt;br /&gt;
|-&lt;br /&gt;
| 41 || Ordinance&lt;br /&gt;
|-&lt;br /&gt;
| 42 || Freds Opinion&lt;br /&gt;
|-&lt;br /&gt;
| 43 || Editor Opinion&lt;br /&gt;
|-&lt;br /&gt;
| 44 || Survey&lt;br /&gt;
|-&lt;br /&gt;
| 45 || MisSim&lt;br /&gt;
|-&lt;br /&gt;
| 46 || Power Demand&lt;br /&gt;
|-&lt;br /&gt;
| 47 || Transit Demand&lt;br /&gt;
|-&lt;br /&gt;
| 48 || Police Demand&lt;br /&gt;
|-&lt;br /&gt;
| 49 || Fire Demand&lt;br /&gt;
|-&lt;br /&gt;
| 50 || Water Demand&lt;br /&gt;
|-&lt;br /&gt;
| 51 || Hospital Demand&lt;br /&gt;
|-&lt;br /&gt;
| 52 || School Demand&lt;br /&gt;
|-&lt;br /&gt;
| 53 || Seaport Demand&lt;br /&gt;
|-&lt;br /&gt;
| 54 || Airport Demand&lt;br /&gt;
|-&lt;br /&gt;
| 55 || Zoo Demand&lt;br /&gt;
|-&lt;br /&gt;
| 56 || Stadium Demand&lt;br /&gt;
|-&lt;br /&gt;
| 57 || Marina Demand&lt;br /&gt;
|-&lt;br /&gt;
| 58 || Park Demand&lt;br /&gt;
|-&lt;br /&gt;
| 59 || Ind Connex Demand&lt;br /&gt;
|-&lt;br /&gt;
| 60 || Com Connex Demand&lt;br /&gt;
|-&lt;br /&gt;
| 61 || Low Crime&lt;br /&gt;
|-&lt;br /&gt;
| 62 || Low Traffic&lt;br /&gt;
|-&lt;br /&gt;
| 63 || Low Pollute&lt;br /&gt;
|-&lt;br /&gt;
| 64 || Good Educate&lt;br /&gt;
|-&lt;br /&gt;
| 65 || Good Health&lt;br /&gt;
|-&lt;br /&gt;
| 66 || Good Employment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=742</id>
		<title>Inventions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=742"/>
		<updated>2025-03-23T19:53:43Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: +the newspapers have two different stories depending on this&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Func Location:&#039;&#039;&#039; &amp;lt;code&amp;gt;0042E460&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Simcity 2000 during game set up the invention date of each technological development is randomly generated and set in NewGameSetup. These dates are a combination of a &#039;&#039;&#039;Base Year&#039;&#039;&#039; for the invention of that technology sourced from an array (&#039;&#039;&#039;Array Location:&#039;&#039;&#039;&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;) and a random number between 0 and 19 of years from that base year. These values are stored in the array &#039;&#039;&#039;wCityInventionYears[17]&#039;&#039;&#039; (&#039;&#039;&#039;pointer:&#039;&#039;&#039;&amp;lt;code&amp;gt;0x4CB430&amp;lt;/code&amp;gt;) in the same order as the base array. If the randomly determined year is before the founding year of the current game then it&#039;s automatically unlocked, otherwise the game will check monthly if it has reached the specified year.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (i=0;i&amp;lt;17;i++)&lt;br /&gt;
{&lt;br /&gt;
wCityInventionYears[i] = rand() % 20 + dataInventionBaseYears[i];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ wInventionBaseYears[20]:&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Invention !! Offset !! Base Year!!type&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || 0x00 || 1940||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || 0x02 || 1950||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Solar Power || 0x04|| 1980||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Wind power || 0x06 || 1970||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Microwave power || 0x08 || 2020||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Fusion power || 0x0A || 2050||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Airport || 0x0C || 1920||Invention&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x0E || 1920||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Bus || 0x10 || 1910||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Subway || 0x12 || 1900||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Water treatment || 0x14 || 1925||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Desalination plant || 0x16 || 1980||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || 0x18 || 1990||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || 0x1A || 2040||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || 0x1C || 2090||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || 0x1E || 2140||Innovation&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x20 || 2190||Innovation&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=741</id>
		<title>Newspaper</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=741"/>
		<updated>2025-03-22T12:17:27Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Newspaper subsystem is mostly flavor text but provides general feedback for &amp;quot;City Issues&amp;quot;, replacing &amp;quot;Survey&amp;quot; in Simcity Classic.&lt;br /&gt;
==Removed Mac OS Debug Menu==&lt;br /&gt;
In the MacOS Simcity 2000 1.0 release a hidden nonfunctional debug menu of all the possible newspaper story types was left in the release copy. This was later completely removed in 1.2&lt;br /&gt;
&lt;br /&gt;
Newspaper story types, these could be in order of the internal enums:&lt;br /&gt;
* Weather&lt;br /&gt;
* Junk&lt;br /&gt;
* Founding&lt;br /&gt;
* Growth&lt;br /&gt;
* Invent&lt;br /&gt;
* Innovate&lt;br /&gt;
* War&lt;br /&gt;
* Market&lt;br /&gt;
* Sports&lt;br /&gt;
* Fed Rate Up&lt;br /&gt;
* Fed Rate Down&lt;br /&gt;
* Politics&lt;br /&gt;
* Diplomacy&lt;br /&gt;
* Disaster&lt;br /&gt;
* Medical&lt;br /&gt;
* Upbeat&lt;br /&gt;
* High Crime&lt;br /&gt;
* High Traffic&lt;br /&gt;
* High Pollute&lt;br /&gt;
* Poor Educate&lt;br /&gt;
* Poor Health&lt;br /&gt;
* Poor Employment&lt;br /&gt;
* Fire&lt;br /&gt;
* Flood&lt;br /&gt;
* Plane Crash&lt;br /&gt;
* Heli Crash&lt;br /&gt;
* Tornado&lt;br /&gt;
* Earthquake&lt;br /&gt;
* Monster&lt;br /&gt;
* Meltdown&lt;br /&gt;
* Microwave&lt;br /&gt;
* Volcano&lt;br /&gt;
* Pollution&lt;br /&gt;
* Chemical Spill&lt;br /&gt;
* Hurricane&lt;br /&gt;
* Riot&lt;br /&gt;
* Old Power Plant&lt;br /&gt;
* Overcrowded Prisons&lt;br /&gt;
* Teachers Complain&lt;br /&gt;
* Bridge Collapse&lt;br /&gt;
* Bulldozer Upset&lt;br /&gt;
* Ordinance&lt;br /&gt;
* Freds Opinion&lt;br /&gt;
* Editor Opinion&lt;br /&gt;
* Survey&lt;br /&gt;
* MisSim&lt;br /&gt;
* Power Demand&lt;br /&gt;
* Transit Demand&lt;br /&gt;
* Police Demand&lt;br /&gt;
* Fire Demand&lt;br /&gt;
* Water Demand&lt;br /&gt;
* Hospital Demand&lt;br /&gt;
* School Demand&lt;br /&gt;
* Seaport Demand&lt;br /&gt;
* Airport Demand&lt;br /&gt;
* Zoo Demand&lt;br /&gt;
* Stadium Demand&lt;br /&gt;
* Marina Demand&lt;br /&gt;
* Park Demand&lt;br /&gt;
* Ind Connex Demand&lt;br /&gt;
* Com Connex Demand&lt;br /&gt;
* Low Crime&lt;br /&gt;
* Low Traffic&lt;br /&gt;
* Low Pollute&lt;br /&gt;
* Good Educate&lt;br /&gt;
* Good Health&lt;br /&gt;
* Good Employment&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=740</id>
		<title>Newspaper</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=740"/>
		<updated>2025-03-22T07:17:05Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Newspaper subsystem is mostly flavor text but provides general feedback for &amp;quot;City Issues&amp;quot;, replacing &amp;quot;Survey&amp;quot; in Simcity Classic.&lt;br /&gt;
==Removed Mac OS Debug Menu==&lt;br /&gt;
In the MacOS Simcity 2000 1.0 release a hidden nonfunctional debug menu of all the possible newspaper story types was left in release copy. This was later completely removed in 1.2&lt;br /&gt;
&lt;br /&gt;
Newspaper story types:&lt;br /&gt;
* Weather&lt;br /&gt;
* Junk&lt;br /&gt;
* Founding&lt;br /&gt;
* Growth&lt;br /&gt;
* Invent&lt;br /&gt;
* Innovate&lt;br /&gt;
* War&lt;br /&gt;
* Market&lt;br /&gt;
* Sports&lt;br /&gt;
* Fed Rate Up&lt;br /&gt;
* Fed Rate Down&lt;br /&gt;
* Politics&lt;br /&gt;
* Diplomacy&lt;br /&gt;
* Disaster&lt;br /&gt;
* Medical&lt;br /&gt;
* Upbeat&lt;br /&gt;
* High Crime&lt;br /&gt;
* High Traffic&lt;br /&gt;
* High Pollute&lt;br /&gt;
* Poor Educate&lt;br /&gt;
* Poor Health&lt;br /&gt;
* Poor Employment&lt;br /&gt;
* Fire&lt;br /&gt;
* Flood&lt;br /&gt;
* Plane Crash&lt;br /&gt;
* Heli Crash&lt;br /&gt;
* Tornado&lt;br /&gt;
* Earthquake&lt;br /&gt;
* Monster&lt;br /&gt;
* Meltdown&lt;br /&gt;
* Microwave&lt;br /&gt;
* Volcano&lt;br /&gt;
* Pollution&lt;br /&gt;
* Chemical Spill&lt;br /&gt;
* Hurricane&lt;br /&gt;
* Riot&lt;br /&gt;
* Old Power Plant&lt;br /&gt;
* Overcrowded Prisons&lt;br /&gt;
* Teachers Complain&lt;br /&gt;
* Bridge Collapse&lt;br /&gt;
* Bulldozer Upset&lt;br /&gt;
* Ordinance&lt;br /&gt;
* Freds Opinion&lt;br /&gt;
* Editor Opinion&lt;br /&gt;
* Survey&lt;br /&gt;
* MisSim&lt;br /&gt;
* Power Demand&lt;br /&gt;
* Transit Demand&lt;br /&gt;
* Police Demand&lt;br /&gt;
* Fire Demand&lt;br /&gt;
* Water Demand&lt;br /&gt;
* Hospital Demand&lt;br /&gt;
* School Demand&lt;br /&gt;
* Seaport Demand&lt;br /&gt;
* Airport Demand&lt;br /&gt;
* Zoo Demand&lt;br /&gt;
* Stadium Demand&lt;br /&gt;
* Marina Demand&lt;br /&gt;
* Park Demand&lt;br /&gt;
* Ind Connex Demand&lt;br /&gt;
* Com Connex Demand&lt;br /&gt;
* Low Crime&lt;br /&gt;
* Low Traffic&lt;br /&gt;
* Low Pollute&lt;br /&gt;
* Good Educate&lt;br /&gt;
* Good Health&lt;br /&gt;
* Good Employment&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=739</id>
		<title>Newspaper</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Newspaper&amp;diff=739"/>
		<updated>2025-03-22T07:16:27Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: started page for newspaper&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Newspaper subsystem is mostly flavor text but provides general feedback for &amp;quot;City Issues&amp;quot;, replacing &amp;quot;Survey&amp;quot; in Simcity Classic.&lt;br /&gt;
==Removed Mac OS Debug Menu==&lt;br /&gt;
In the MacOS Simcity 2000 1.0 release a hidden nonfunctional debug menu of all the possible newspaper story types was left in release copy. This was later completely removed in 1.2&lt;br /&gt;
&lt;br /&gt;
Newspaper story types:&lt;br /&gt;
* Weather&lt;br /&gt;
* Junk&lt;br /&gt;
* Founding&lt;br /&gt;
* Growth&lt;br /&gt;
* Invent&lt;br /&gt;
* Innovate&lt;br /&gt;
* War&lt;br /&gt;
* Market&lt;br /&gt;
* Sports&lt;br /&gt;
* Fed Bate Up&lt;br /&gt;
* Fed Bate Down&lt;br /&gt;
* Politics&lt;br /&gt;
* Diplomacy&lt;br /&gt;
* Disaster&lt;br /&gt;
* Medical&lt;br /&gt;
* Upbeat&lt;br /&gt;
* High Crime&lt;br /&gt;
* High Traffic&lt;br /&gt;
* High Pollute&lt;br /&gt;
* Poor Educate&lt;br /&gt;
* Poor Health&lt;br /&gt;
* Poor Employment&lt;br /&gt;
* Fire&lt;br /&gt;
* Flood&lt;br /&gt;
* Plane Crash&lt;br /&gt;
* Heli Crash&lt;br /&gt;
* Tornado&lt;br /&gt;
* Earthquake&lt;br /&gt;
* Monster&lt;br /&gt;
* Meltdown&lt;br /&gt;
* Microwave&lt;br /&gt;
* Volcano&lt;br /&gt;
* Pollution&lt;br /&gt;
* Chemical Spill&lt;br /&gt;
* Hurricane&lt;br /&gt;
* Riot&lt;br /&gt;
* Old Power Plant&lt;br /&gt;
* Overcrowded Prisons&lt;br /&gt;
* Teachers Complain&lt;br /&gt;
* Bridge Collapse&lt;br /&gt;
* Bulldozer Upset&lt;br /&gt;
* Ordinance&lt;br /&gt;
* Freds Opinion&lt;br /&gt;
* Editor Opinion&lt;br /&gt;
* Survey&lt;br /&gt;
* MisSim&lt;br /&gt;
* Power Demand&lt;br /&gt;
* Transit Demand&lt;br /&gt;
* Police Demand&lt;br /&gt;
* Fire Demand&lt;br /&gt;
* Water Demand&lt;br /&gt;
* Hospital Demand&lt;br /&gt;
* School Demand&lt;br /&gt;
* Seaport Demand&lt;br /&gt;
* Hirport Demand&lt;br /&gt;
* Zoo Demand&lt;br /&gt;
* Stadium Demand&lt;br /&gt;
* Marina Demand&lt;br /&gt;
* Park Demand&lt;br /&gt;
* Ind Connex Demand&lt;br /&gt;
* Com Connex Demand&lt;br /&gt;
* Low Crime&lt;br /&gt;
* Low Traffic&lt;br /&gt;
* Low Pollute&lt;br /&gt;
* Good Educate&lt;br /&gt;
* Good Health&lt;br /&gt;
* Good Employment&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=738</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=738"/>
		<updated>2025-03-21T18:42:42Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: added new vars&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Interest rates of all outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four neighbor cities (32 bytes each), clockwise from bottom left&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC936 || WORD || &#039;&#039;&#039;wScenarioLEGoal&#039;&#039;&#039; ||  || Workforce LE goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC938 || WORD || &#039;&#039;&#039;wScenarioEQGoal&#039;&#039;&#039; ||  || Workforce EQ goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=737</id>
		<title>Inventions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=737"/>
		<updated>2025-03-21T09:33:43Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Func Location:&#039;&#039;&#039; &amp;lt;code&amp;gt;0042E460&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Simcity 2000 during game set up the invention date of each technological development is randomly generated and set in NewGameSetup. These dates are a combination of a &#039;&#039;&#039;Base Year&#039;&#039;&#039; for the invention of that technology sourced from an array (&#039;&#039;&#039;Array Location:&#039;&#039;&#039;&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;) and a random number between 0 and 19 of years from that base year. These values are stored in the array &#039;&#039;&#039;wCityInventionYears[17]&#039;&#039;&#039; (&#039;&#039;&#039;pointer:&#039;&#039;&#039;&amp;lt;code&amp;gt;0x4CB430&amp;lt;/code&amp;gt;) in the same order as the base array. If the randomly determined year is before the founding year of the current game then it&#039;s automatically unlocked, otherwise the game will check monthly if it has reached the specified year.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (i=0;i&amp;lt;17;i++)&lt;br /&gt;
{&lt;br /&gt;
wCityInventionYears[i] = rand() % 20 + dataInventionBaseYears[i];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ wInventionBaseYears[20]:&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Invention !! Offset !! Base Year&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || 0x00 || 1940&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || 0x02 || 1950&lt;br /&gt;
|-&lt;br /&gt;
| Solar Power || 0x04|| 1980&lt;br /&gt;
|-&lt;br /&gt;
| Wind power || 0x06 || 1970&lt;br /&gt;
|-&lt;br /&gt;
| Microwave power || 0x08 || 2020&lt;br /&gt;
|-&lt;br /&gt;
| Fusion power || 0x0A || 2050&lt;br /&gt;
|-&lt;br /&gt;
| Airport || 0x0C || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x0E || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Bus || 0x10 || 1910&lt;br /&gt;
|-&lt;br /&gt;
| Subway || 0x12 || 1900&lt;br /&gt;
|-&lt;br /&gt;
| Water treatment || 0x14 || 1925&lt;br /&gt;
|-&lt;br /&gt;
| Desalination plant || 0x16 || 1980&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || 0x18 || 1990&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || 0x1A || 2040&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || 0x1C || 2090&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || 0x1E || 2140&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x20 || 2190&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=736</id>
		<title>Inventions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=736"/>
		<updated>2025-03-20T16:36:09Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Func Location:&#039;&#039;&#039; &amp;lt;code&amp;gt;0042E460&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Simcity 2000 during game set up the invention date of each technological development is randomly generated and set in NewGameSetup. These dates are a combination of a &#039;&#039;&#039;Base Year&#039;&#039;&#039; for the invention of that technology sourced from an array (&#039;&#039;&#039;Array Location:&#039;&#039;&#039;&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;) and a random number between 0 and 19 of years from that base year. These values are stored in the array &#039;&#039;&#039;wCityInventionYears[17]&#039;&#039;&#039; (&#039;&#039;&#039;pointer:&#039;&#039;&#039;&amp;lt;code&amp;gt;0x4CB430&amp;lt;/code&amp;gt;) in the same order as the base array. If the randomly determined year is before the founding year of the current game then it&#039;s automatically unlocked, otherwise the game will check monthly if it has reached the specified year.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (i=0;i&amp;lt;17;i++)&lt;br /&gt;
{&lt;br /&gt;
InventionDates[i] = rand() % 20 + dataInventionBaseYears[i];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ wInventionBaseYears[20]:&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Invention !! Offset !! Base Year&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || 0x00 || 1940&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || 0x02 || 1950&lt;br /&gt;
|-&lt;br /&gt;
| Solar Power || 0x04|| 1980&lt;br /&gt;
|-&lt;br /&gt;
| Wind power || 0x06 || 1970&lt;br /&gt;
|-&lt;br /&gt;
| Microwave power || 0x08 || 2020&lt;br /&gt;
|-&lt;br /&gt;
| Fusion power || 0x0A || 2050&lt;br /&gt;
|-&lt;br /&gt;
| Airport || 0x0C || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x0E || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Bus || 0x10 || 1910&lt;br /&gt;
|-&lt;br /&gt;
| Subway || 0x12 || 1900&lt;br /&gt;
|-&lt;br /&gt;
| Water treatment || 0x14 || 1925&lt;br /&gt;
|-&lt;br /&gt;
| Desalination plant || 0x16 || 1980&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || 0x18 || 1990&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || 0x1A || 2040&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || 0x1C || 2090&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || 0x1E || 2140&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x20 || 2190&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=735</id>
		<title>Inventions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=735"/>
		<updated>2025-03-20T13:20:30Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Func Location:&#039;&#039;&#039; &amp;lt;code&amp;gt;0042E460&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Simcity 2000 during game set up the invention date of each technological development is randomly generated and set in NewGameSetup. These dates are a combination of a base year for the invention of that technology sourced from an array and a random number between 0 and 19 of years from that year. If the base year is BEFORE but not the Year of the city&#039;s founding, the technology is automatically invented although this seems bugged for New games started from the main menu.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (i=0;i&amp;lt;17;i++)&lt;br /&gt;
{&lt;br /&gt;
InventionDate = rand() % 20 + dataInventionBaseYears[i];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ wInventionBaseYears[20]:&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Invention !! Offset !! Base Year&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || 0x00 || 1940&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || 0x02 || 1950&lt;br /&gt;
|-&lt;br /&gt;
| Solar Power || 0x04|| 1980&lt;br /&gt;
|-&lt;br /&gt;
| Wind power || 0x06 || 1970&lt;br /&gt;
|-&lt;br /&gt;
| Microwave power || 0x08 || 2020&lt;br /&gt;
|-&lt;br /&gt;
| Fusion power || 0x0A || 2050&lt;br /&gt;
|-&lt;br /&gt;
| Airport || 0x0C || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x0E || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Bus || 0x10 || 1910&lt;br /&gt;
|-&lt;br /&gt;
| Subway || 0x12 || 1900&lt;br /&gt;
|-&lt;br /&gt;
| Water treatment || 0x14 || 1925&lt;br /&gt;
|-&lt;br /&gt;
| Desalination plant || 0x16 || 1980&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || 0x18 || 1990&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || 0x1A || 2040&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || 0x1C || 2090&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || 0x1E || 2140&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x20 || 2190&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=734</id>
		<title>Inventions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=734"/>
		<updated>2025-03-20T13:17:28Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Func Location:&#039;&#039;&#039; &amp;lt;code&amp;gt;0042E460&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Simcity 2000 during game set up the invention date of each technological development is randomly generated and set in NewGameSetup. These dates are a combination of a base year for the invention of that technology sourced from an array and a random number between 0 and 19 of years from that year. If the base year is BEFORE but not the Year of the city&#039;s founding, the technology is automatically invented although this seems bugged for New games started from the main menu.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (i=0;i&amp;lt;17;i++)&lt;br /&gt;
{&lt;br /&gt;
InventionDate = rand() % 20 + dataInventionBaseYears[i];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ wInventionBaseYears[20]:&amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Invention !! Offset !! Base Year&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || 0x00 || 1940&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || 0x04 || 1950&lt;br /&gt;
|-&lt;br /&gt;
| Solar Power || 0x08|| 1980&lt;br /&gt;
|-&lt;br /&gt;
| Wind power || 0x0C || 1970&lt;br /&gt;
|-&lt;br /&gt;
| Microwave power || 0x10 || 2020&lt;br /&gt;
|-&lt;br /&gt;
| Fusion power || 0x14 || 2050&lt;br /&gt;
|-&lt;br /&gt;
| Airport || 0x18 || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x1C || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Bus || 0x20 || 1910&lt;br /&gt;
|-&lt;br /&gt;
| Subway || 0x24 || 1900&lt;br /&gt;
|-&lt;br /&gt;
| Water treatment || 0x28 || 1925&lt;br /&gt;
|-&lt;br /&gt;
| Desalination plant || 0x2C || 1980&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || 0x30 || 1990&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || 0x34 || 2040&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || 0x38 || 2090&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || 0x3C || 2140&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x40 || 2190&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Function_list&amp;diff=733</id>
		<title>Function list</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Function_list&amp;diff=733"/>
		<updated>2025-03-20T13:16:06Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of functions in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
When adding new functions to the table, please make sure you insert them into the appropriate order by thunk address (the function that just has a &amp;lt;code&amp;gt;jmp &#039;&#039;&#039;ActualFunctionBody&#039;&#039;&#039;&amp;lt;/code&amp;gt; instruction in it). If/when it gets too unwieldy we can split it out into multiple tables.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401262 || 0x468D30 || int || __stdcall || &#039;&#039;&#039;[[SimulationEQ_LE_Processing]]&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 22 || Handles EQ and LE simulation for the month.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40130C || 0x45F760 || {{Win32_BOOL}} || __stdcall || &#039;&#039;&#039;SimulationDoDisasterTick&#039;&#039;&#039; ||  || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationStartDisaster&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| 0x4013ED || 0x42BCA0 || int || __cdecl || &#039;&#039;&#039;SimulationCalculateOrdinanceCost&#039;&#039;&#039; || DWORD dwOrdinance || {{Mostly understood}} ||  || Returns the effective cost of an ordinance&lt;br /&gt;
|-&lt;br /&gt;
| 0x4015E6 || 0x4731E0 || int || __cdecl || &#039;&#039;&#039;SimulationPrepareBudgetDialog&#039;&#039;&#039; || int a1 || {{Mostly understood}} ||  || arg a1 only referenced on line, seems to be more like &amp;quot;BOOL bUseParentWindow&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x401672 || 0x441E50 || int || __cdecl || &#039;&#039;&#039;SimulationGrantReward&#039;&#039;&#039; || __int16 iRewardID, BOOL bAddReward || {{Mostly understood}} ||  || Adds a city progression reward if (bAddReward), removes it if (!bAddReward).&lt;br /&gt;
|-&lt;br /&gt;
| 0x40174E || 0x42B4D0 || int || __cdecl || &#039;&#039;&#039;SimulationPrepareDisaster&#039;&#039;&#039; || DWORD *a1, __int16 a2, __int16 a3 || {{Somewhat understood}} ||  || Seems to prepare the starting location for disasters.&lt;br /&gt;
|-&lt;br /&gt;
| 0x401820 || 0x413520 || void || __stdcall || &#039;&#039;&#039;[[SimulationProcessTick]]&#039;&#039;&#039; ||  || {{Mostly understood}} || Called from &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; based on game speed || Advances the calendar date and performs all appropriate daily/monthly/etc. tasks. May need better name?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4019EC || 0x4412E0 || int || __cdecl || &#039;&#039;&#039;CenterOnTileCoords&#039;&#039;&#039; || __int16 iTileX, __int16 iTileY || {{Somewhat understood}} || Called from the centering tool and anywhere that needs to center the display || &lt;br /&gt;
|-&lt;br /&gt;
| 0x401CA8 || 0x464550 || int || __stdcall || &#039;&#039;&#039;SimulationUpdateWaterConsumption&#039;&#039;&#039; ||  || {{Barely explored}} || Called whenever tiles are placed and on &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 2 || Vanilla SC2K doesn&#039;t call this when tiles are placed on cities over 50,000 pop.&lt;br /&gt;
|-&lt;br /&gt;
| 0x401E65 || 0x471BC0 || char || __stdcall || &#039;&#039;&#039;SimulationDetermineCityCrisis&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called on the last day of the month and from &#039;&#039;sub_406A50&#039;&#039; || Changes the city status line if there&#039;s a new demand, and also starts disasters.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40217B || 0x468150 || int || __stdcall || &#039;&#039;&#039;[[SimulationRCIDemandUpdates]]&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 22 || Handles all RCI bar updates for &amp;quot;zone balance&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4022FC || 0x4358B0 || int || __cdecl || &#039;&#039;&#039;SimulationGrowthTick&#039;&#039;&#039; || __int16 a1, __int16 a2 || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; on days 4-17 || The arguments and algorithms are not yet understood.&lt;br /&gt;
|-&lt;br /&gt;
| 0x402527 || 0x45CF10 || int || __stdcall || &#039;&#039;&#039;SimulationStartDisaster&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; || Calls the appropriate disaster creation function and then runs disaster ticks&lt;br /&gt;
|-&lt;br /&gt;
| 0x4026B2 || 0x4734A0 || int || __usercall || &#039;&#039;&#039;SimulationGrowSpecificZone&#039;&#039;&#039; || int a1@&amp;lt;ebp&amp;gt;, __int16 iX, __int16 iY, __int16 iTileID, __int16 iZoneType || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationGrowthTick&#039;&#039;&#039; || Might be an omit-frame-pointer function?&lt;br /&gt;
|-&lt;br /&gt;
| 0x4026F8 || 0x467860 || int || __stdcall || &#039;&#039;&#039;SimulationUpdatePowerConsumption&#039;&#039;&#039; ||  || {{Barely explored}} || Called whenever tiles are placed and on &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; day 21 || Vanilla SC2K doesn&#039;t call this when tiles are placed on cities over 50,000 pop.&lt;br /&gt;
|-&lt;br /&gt;
| 0x402A3B || 0x405AB0 || DWORD || __thiscall || &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; || CWinApp* this || {{Somewhat understood}} || Called from &#039;&#039;&#039;CWinApp::OnIdle&#039;&#039;&#039; via the class CWinApp vtable || Could stand to have a better name.&lt;br /&gt;
|-&lt;br /&gt;
| 0x402A9F || 0x40C100 || __int16 || __tstdcall || &#039;&#039;&#039;SimulationProcessTimer&#039;&#039;&#039; ||  || {{Mostly understood}} || Called from the root window&#039;s AFX_MSGMAP to handle WM_TIMER messages ||&lt;br /&gt;
|-&lt;br /&gt;
| 0x402D2E || 0x4734A0 || __int16 || __stdcall || &#039;&#039;&#039;SimulationCalculateBudgetUpdates&#039;&#039;&#039; ||  || {{Barely explored}} ||  || 00&lt;br /&gt;
|-&lt;br /&gt;
| 0x403017 || 0x4142C0 || int || __stdcall || &#039;&#039;&#039;SimulationProposeMilitaryBase&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; on day 23 and from &amp;quot;gilmartin&amp;quot; cheat || &lt;br /&gt;
|-&lt;br /&gt;
| 0x401154 || 0x46A840 || int || __stdcall || &#039;&#039;&#039;[[SimulationPollutionTerrainLandValueScan]]&#039;&#039;&#039; ||  || {{Somewhat understood}} || Called from &#039;&#039;&#039;SimulationProcessTick&#039;&#039;&#039; on day 3 || This is where the land value, pollution and other things simulators lives.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4025A4 || 0x4302E0 || int || __thiscall || &#039;&#039;&#039;LoadSegmentsFromSavedCity&#039;&#039;&#039; || void *this, int *a2, char *Src || {{Barely explored}} ||  || Seems to be related to the loading / parsing of segments from a saved SC2 file&lt;br /&gt;
|-&lt;br /&gt;
| 0x4025A9 || 0x42D940 || int || || &#039;&#039;&#039;ClearMapsAndOtherThingsFromMemory&#039;&#039;&#039; || || {{Barely explored}} || Appears to be called when the game is about to close down || Seems to clear / reinitialize a number of global variables&lt;br /&gt;
|-&lt;br /&gt;
| 0x402315 || 0x42E460 || int || || &#039;&#039;&#039;NewGameSetup&#039;&#039;&#039; || || {{Barely explored}} || Usually called whenever a new game is started. || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ [[MicroSim]] functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401460 || 0x44CF60 || char || __cdecl || &#039;&#039;&#039;SimulationProvisionMicrosim&#039;&#039;&#039; || __int16 a1, int a2, __int16 iTileID || {{Barely explored}} ||  || iTileID is the only argument used; needs some RE work for sure&lt;br /&gt;
|-&lt;br /&gt;
| 0x40158C || 0x44DDC0 || __int16 || __cdecl || &#039;&#039;&#039;SimulationInitializeMicrosim&#039;&#039;&#039; || __int16 iMicroSimIdx, __int16 iTileID || {{Barely explored}} ||  || Seems to initialize the values for each microsim based on the provided tile ID. First param is an index into the XLAB map.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ [[Thing]] functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x40132A || 0x4562E0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickSailboat&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || Has a rare chance of turning into Nessie&lt;br /&gt;
|-&lt;br /&gt;
| 0x40137F || 0x454EA0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickTornado&#039;&#039;&#039; ||__int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| 0x401992 || 0x4548C0 || void || __usercall || &#039;&#039;&#039;SimulationThingTickMonster&#039;&#039;&#039; || int a1@&amp;lt;ebx&amp;gt;, __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || The function signature of this one is odd and needs investigation.&lt;br /&gt;
|-&lt;br /&gt;
| 0x401B6D || 0x455500 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickTrain&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || Used for XTHG_TRAIN_ENGINE and XTHG_UNKNOWN_3&lt;br /&gt;
|-&lt;br /&gt;
| 0x401EBA || 0x452FA0 || int || __cdecl || &#039;&#039;&#039;SimulationSpawnMaxisMan&#039;&#039;&#039; || __int16 iDisasterID || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationStartDisaster&#039;&#039;&#039; || Creates the Thing for Maxis Man and determines based on iDisasterID what his behavior should be&lt;br /&gt;
|-&lt;br /&gt;
| 0x40236F || 0x456760 || void || __usercall || &#039;&#039;&#039;SimulationThingTickCargoShip&#039;&#039;&#039; || int a1@&amp;lt;ebx&amp;gt;, __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || IDA really doesn&#039;t like this function for some reason&lt;br /&gt;
|-&lt;br /&gt;
| 0x402464 || 0x450890 || int || __stdcall || &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; ||  || {{Barely explored}} || Called from &#039;&#039;&#039;GameDoIdleUpkeep&#039;&#039;&#039; via &#039;&#039;sub_401DBB&#039;&#039; || Does the individual simulation ticks for Things every 30-45 ms.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4024AA || 0x455020 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickMaxisMan&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || If you shoot down a helicopter and it lights something on fire, it&#039;s your own dang fault&lt;br /&gt;
|-&lt;br /&gt;
| 0x4027A2 || 0x453980 || void || __usercall || &#039;&#039;&#039;SimulationThingTickAirplane&#039;&#039;&#039; || int a1@&amp;lt;ebx&amp;gt;, __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || Another one with a bizarre function signature&lt;br /&gt;
|-&lt;br /&gt;
| 0x4028D3 || 0x4546F0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickExplosion&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| 0x402ED2 || 0x4540C0 || void || __cdecl || &#039;&#039;&#039;SimulationThingTickHelicopter&#039;&#039;&#039; || __int16 iXTHGIndex || {{Barely explored}} || Called from &#039;&#039;&#039;SimulationDoThingTick&#039;&#039;&#039; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Sound and music functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401096 || 0x4251D0 || int || __thiscall || &#039;&#039;&#039;SoundPlaySound&#039;&#039;&#039; || int* this, int iSoundID || {{Mostly understood}} || Called in so many places || Calls through to &#039;&#039;sub_4802B0&#039;&#039;, which does the buffer loads and calls to &#039;&#039;sndPlaySoundA&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x401389 || 0x480890 || MCIERROR || __thiscall || &#039;&#039;&#039;MusicSendMCICommands&#039;&#039;&#039; || unsigned __int16* this, char* szMidiPath || {{Understood}} || Called by &#039;&#039;&#039;MusicPlayMidi&#039;&#039;&#039; || Sends the actual MCI commands to play/stop a MIDI file&lt;br /&gt;
|-&lt;br /&gt;
| 0x401479 || 0x480770 || MCIERROR || __thiscall || &#039;&#039;&#039;MusicPlayMidi&#039;&#039;&#039; || unsigned __int16* this, int iSongID || {{Understood}} || Called by &#039;&#039;&#039;MusicPlay&#039;&#039;&#039; || Turns iSongID into szMidiPath&lt;br /&gt;
|-&lt;br /&gt;
| 0x4015FF || 0x480B20 || void || __thiscall || &#039;&#039;&#039;AllocateSoundBuffers&#039;&#039;&#039; || DWORD *this, int a2 || {{Barely explored}} || Called by &#039;&#039;&#039;CMainFrame:OnCreate&#039;&#039;&#039; || Allocates sound buffers; replaced by sc2kfix&lt;br /&gt;
|-&lt;br /&gt;
| 0x401A9B || 0x425290 || int || __thiscall || &#039;&#039;&#039;MusicPlayNextRefocusSong&#039;&#039;&#039; || unsigned __int16** this || {{Understood}} || Called in a few places || Loops through the non-event music; replaced by sc2kfix&lt;br /&gt;
|-&lt;br /&gt;
| 0x401CE9 || 0x425220 || int || __thiscall || &#039;&#039;&#039;SoundStopSound&#039;&#039;&#039; || int* this, int iSoundID || {{Understood}} || Called in so many places || Does a few checks then blasts out &#039;&#039;sndPlaySoundA(0, 0)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x401F9B || 0x480140 || void || __stdcall || &#039;&#039;&#039;LoadSoundBuffer&#039;&#039;&#039; || int iSoundID, void* lpBuffer || {{Understood}} || Called before a few sound calls || This and many other sound functions are replaced by sc2kfix&lt;br /&gt;
|-&lt;br /&gt;
| 0x402414 || 0x425260 || int || __thiscall || &#039;&#039;&#039;MusicPlay&#039;&#039;&#039; || unsigned __int16** this, iSongID || {{Understood}} || Called by anything that changes the music || Basically just a trampoline to &#039;&#039;&#039;MusicPlayMidi&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4027E8 || 0x48A3F0 || LRESULT || __stdcall || &#039;&#039;&#039;MaxisMovieWndProc&#039;&#039;&#039; || HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam || {{Mostly understood}} || Registered as window class &amp;quot;MaxisMovie&amp;quot; by sub_405650 || Window procedure for the &amp;quot;fullscreen&amp;quot; window that plays Smacker movies&lt;br /&gt;
|-&lt;br /&gt;
| 0x402BE4 || 0x480AE0 || MCIERROR || __thiscall || &#039;&#039;&#039;MusicStop&#039;&#039;&#039; || int this || {{Understood}} || Called by anything that stops the music || Sends an MCI_CLOSE command to the sequencer device&lt;br /&gt;
|-&lt;br /&gt;
| 0x48A370 || || BOOL || __cdecl || &#039;&#039;&#039;MaxisMovieBlitNextFrame&#039;&#039;&#039; || HWND hWnd || {{Understood}} || Called by &#039;&#039;&#039;MaxisMovieWndProc&#039;&#039;&#039; from WM_PAINT message || Blits the next frame of a Smacker movie onto the MaxisMovie window&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Randomness functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x401019 || 0x47FC30 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod32&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 32&lt;br /&gt;
|-&lt;br /&gt;
| 0x40116D || 0x47FAA0 || __int16 || __cdecl || &#039;&#039;&#039;RandomWordLCGMod&#039;&#039;&#039; || __int16 iModulus || {{Understood}} ||  || Returns a random word from the LCG modulo iModulus&lt;br /&gt;
|-&lt;br /&gt;
| 0x401415 || 0x47FC70 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod64&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 64&lt;br /&gt;
|-&lt;br /&gt;
| 0x4017AD || 0x47FAE0 || int || __stdcall || &#039;&#039;&#039;GetRandomLFSRState&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns the state of the LFSR&lt;br /&gt;
|-&lt;br /&gt;
| 0x401CAD || 0x47FAF0 || __int16 || __cdecl || &#039;&#039;&#039;RandomWordLFSRMod&#039;&#039;&#039; || __int16 iModulus || {{Understood}} ||  || Returns a random word from the LFSR modulo iModulus&lt;br /&gt;
|-&lt;br /&gt;
| 0x401D9D || 0x47FCF0 || unsigned __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSR&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR&lt;br /&gt;
|-&lt;br /&gt;
| 0x401F19 || 0x47FA80 || int || __cdecl || &#039;&#039;&#039;SeedRandomLCG&#039;&#039;&#039; || int iSeed || {{Understood}} ||  || Sets the LCG state&lt;br /&gt;
|-&lt;br /&gt;
| 0x402261 || 0x47FB70 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod4&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 4&lt;br /&gt;
|-&lt;br /&gt;
| 0x4025E5 || 0x47FBF0 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod16&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 16&lt;br /&gt;
|-&lt;br /&gt;
| 0x402626 || 0x47FAD0 || int || __cdecl || &#039;&#039;&#039;SeedRandomLFSR&#039;&#039;&#039; || int iSeed || {{Understood}} ||  || Sets the LFSR state&lt;br /&gt;
|-&lt;br /&gt;
| 0x40288D || 0x47FBB0 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod8&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 8&lt;br /&gt;
|-&lt;br /&gt;
| 0x402946 || 0x47FB30 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod2&#039;&#039;&#039; ||  || {{Understood}} || Called by &#039;&#039;&#039;SimulationThingTickTrain&#039;&#039;&#039; and &#039;&#039;&#039;SimulationDoDisasterTick&#039;&#039;&#039; || Returns a random word from the LFSR modulo 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x402B3F || 0x47FCB0 || __int16 || __stdcall || &#039;&#039;&#039;RandomWordLFSRMod128&#039;&#039;&#039; ||  || {{Understood}} ||  || Returns a random word from the LFSR modulo 128&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Frequently-reused MFC class functions&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Thunk address|The address of the function thunk that other functions call.}} ! {{tooltip|Main address|The address that the thunk function jumps to, where the function actually starts}} ! {{tooltip|Return type|The function&#039;s return type from the C function signature.}} ! {{tooltip|Calling convention|Typically __cdecl, __stdcall, or __thiscall. Sometimes __usercall or __userpurge in IDA. Write __stdcall if it takes zero arguments.}} ! {{tooltip|Function name|Just the name, not the parameters}} ! {{tooltip|Arguments|What parameters the function takes, or blank for void.}} ! {{tooltip|Status|How well we know what goes on inside the function.}} ! {{tooltip|Related functions|If any, and if not too long to list.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x40219E || 0x4815E0 || INT_PTR || __thiscall || &#039;&#039;&#039;CGameDialog::DoModal&#039;&#039;&#039; || LPCDLGTEMPLATEA* this || {{Understood}} || Called in so many places || Seems to pause the simulation, call CDialog::DoModal(this), then restore the simulation.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40281A || 0x481300 || struct CRuntimeClass* || __stdcall || &#039;&#039;&#039;CGameDialog::GetRuntimeClass&#039;&#039;&#039; ||  || {{Understood}} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=732</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=732"/>
		<updated>2025-03-20T13:10:19Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Interest rates of all outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four neighbor cities (32 bytes each), clockwise from bottom left&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in (see: [[Inventions]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=731</id>
		<title>Inventions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=731"/>
		<updated>2025-03-20T13:08:29Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Func Location:&#039;&#039;&#039; &amp;lt;code&amp;gt;0042E460&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Simcity 2000 during game set up the invention date of each technological development is randomly generated and set in NewGameSetup. These dates are a combination of a base year for the invention of that technology sourced from an array and a random number between 0 and 19 of years from that year. If the base year is BEFORE but not the Year of the city&#039;s founding, the technology is automatically invented although this seems bugged for New games started from the main menu.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (i=0;i&amp;lt;17;i++)&lt;br /&gt;
{&lt;br /&gt;
InventionDate = rand() % 20u + dataInventionBaseYears[i];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ dataInventionBaseYears[20]: &amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Invention !! Offset !! Base Year&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || 0x00 || 1940&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || 0x04 || 1950&lt;br /&gt;
|-&lt;br /&gt;
| Solar Power || 0x08|| 1980&lt;br /&gt;
|-&lt;br /&gt;
| Wind power || 0x0C || 1970&lt;br /&gt;
|-&lt;br /&gt;
| Microwave power || 0x10 || 2020&lt;br /&gt;
|-&lt;br /&gt;
| Fusion power || 0x14 || 2050&lt;br /&gt;
|-&lt;br /&gt;
| Airport || 0x18 || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x1C || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Bus || 0x20 || 1910&lt;br /&gt;
|-&lt;br /&gt;
| Subway || 0x24 || 1900&lt;br /&gt;
|-&lt;br /&gt;
| Water treatment || 0x28 || 1925&lt;br /&gt;
|-&lt;br /&gt;
| Desalination plant || 0x2C || 1980&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || 0x30 || 1990&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || 0x34 || 2040&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || 0x38 || 2090&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || 0x3C || 2140&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x40 || 2190&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=730</id>
		<title>Inventions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Inventions&amp;diff=730"/>
		<updated>2025-03-20T13:03:52Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: creating page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Func Location:&#039;&#039;&#039; &amp;lt;code&amp;gt;0042E460&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Simcity 2000 during game set up the invention date of each technological development is randomly generated and set in NewGameSetup. These dates are a combination of a base year for the invention of that technology sourced from an array and a random number between 0 and 19 of years from that year. If the base year is BEFORE but not the Year of the city&#039;s founding, the technology is automatically invented although this seems bugged for New games started from the main menu.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (i=0;i&amp;lt;17;i++)&lt;br /&gt;
{&lt;br /&gt;
InventionDate = rand() % 20u + dataInventionBaseYears[i];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ dataInventionBaseYears: &amp;lt;code&amp;gt;004E99E8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Invention !! Offset !! Base Year&lt;br /&gt;
|-&lt;br /&gt;
| Gas Power || 0x00 || 1940&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear Power || 0x04 || 1950&lt;br /&gt;
|-&lt;br /&gt;
| Solar Power || 0x08|| 1980&lt;br /&gt;
|-&lt;br /&gt;
| Wind power || 0x0C || 1970&lt;br /&gt;
|-&lt;br /&gt;
| Microwave power || 0x10 || 2020&lt;br /&gt;
|-&lt;br /&gt;
| Fusion power || 0x14 || 2050&lt;br /&gt;
|-&lt;br /&gt;
| Airport || 0x18 || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x1C || 1920&lt;br /&gt;
|-&lt;br /&gt;
| Bus || 0x20 || 1910&lt;br /&gt;
|-&lt;br /&gt;
| Subway || 0x24 || 1900&lt;br /&gt;
|-&lt;br /&gt;
| Water treatment || 0x28 || 1925&lt;br /&gt;
|-&lt;br /&gt;
| Desalination plant || 0x2C || 1980&lt;br /&gt;
|-&lt;br /&gt;
| Plymouth Arco || 0x30 || 1990&lt;br /&gt;
|-&lt;br /&gt;
| Forest Arco || 0x34 || 2040&lt;br /&gt;
|-&lt;br /&gt;
| DARCO || 0x38 || 2090&lt;br /&gt;
|-&lt;br /&gt;
| Launch Arco || 0x3C || 2140&lt;br /&gt;
|-&lt;br /&gt;
| Highways || 0x40 || 2190&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=729</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=729"/>
		<updated>2025-03-20T12:06:16Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: accidentally muddled the table with copy+paste. now fixed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Interest rates of all outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four neighbor cities (32 bytes each), clockwise from bottom left&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Power_Plants&amp;diff=727</id>
		<title>Power Plants</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Power_Plants&amp;diff=727"/>
		<updated>2025-03-19T11:10:17Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: Looked at table at [004E99E8] - the &amp;quot;common wisdom&amp;quot; was wrong&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Func Location:&#039;&#039;&#039; &amp;lt;code&amp;gt;004679B6&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Despite the listed nominal output of each power plant their true output is measured in &amp;quot;tiles powered&amp;quot; per individual power plant tile. In addition to this counter-intuitively the power plant itself &amp;quot;consumes&amp;quot; some of the electricity it generates at the same rate that all tiles do, meaning that while the full output of a Coal Power plant is 704, it&#039;s effective output is actually 688 due to the 16 tiles immediately consumed by the power plant.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Power Plants&lt;br /&gt;
|-&lt;br /&gt;
! !! Name !! TileID !! Base Year !! Cost !! Nominal &amp;quot;Output&amp;quot; !!Power per tile !! Total output !! Pollution&lt;br /&gt;
|-&lt;br /&gt;
| [[File:207.gif|128x106px]]  || Coal Power Plant || 0x00CF|| 1900 || 4000 || 200 || 44 || 704 || 50&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[File:198.gif|32x32px]] [[File:199.gif|32x32px]] || Hydro Power Plant|| 0x00C6, 0x00C7 || 1900 || 400 || 20 || 40  || 40 || 0&lt;br /&gt;
|-&lt;br /&gt;
| [[File:202.gif|128x115px]] || Oil Power Plant || 0x00CA || 1900 || 6600 || 220 ||48 || 768 || 25&lt;br /&gt;
|-&lt;br /&gt;
| [[File:201.gif|128x115px]] || Natural Gas Power Plant || 0x00C9 ||1940 || 2000 || 50 || 11 || 176 || 10&lt;br /&gt;
|-&lt;br /&gt;
| [[File:203.gif|128x115px]] || Nuclear Power Plant || 0x00CB ||1950 || 15000 || 500 || 111 || 1776 || 2&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[File:200.gif|32x48px]]  || Wind Power Plant || 0x00C8 || 1970 || 100 || 4 || * || * || 0&lt;br /&gt;
|-&lt;br /&gt;
| [[File:204.gif|128x115px]] || Solar Power Plant || 0x00CC ||1980 || 1300 || 50 || * || * || 0&lt;br /&gt;
|-&lt;br /&gt;
| [[File:205.gif|128x95px]] || Microwave Power Plant || 0x00CD || 2020 || 28000 || 1600 ||355 || 5680 || 0&lt;br /&gt;
|-&lt;br /&gt;
| [[File:206.gif|128x69px]] || Fusion Power Plant || 0x00CE || 2050 || 40000 || 2500 ||555 || 8880 || 2&lt;br /&gt;
|}&lt;br /&gt;
==Wind==&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; &amp;lt;code&amp;gt;00467AD7&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
case 0xC8:                                  //Wind Power&lt;br /&gt;
  VariableOutput = (bWeatherWind / 8) + 1;&lt;br /&gt;
  Total += (rand() % VariableOutput + (dwMapALTM[Tile_X][Tile_Y] &amp;amp; 31)) / 2;&lt;br /&gt;
  break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Solar==&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; &amp;lt;code&amp;gt;00467B29&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
case 0xCC:                                  //Solar Power&lt;br /&gt;
  VariableOutput = (100 - bWeatherHumidity) / 10;&lt;br /&gt;
  Total += rand() % VariableOutput + 5;&lt;br /&gt;
  break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=726</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=726"/>
		<updated>2025-03-19T10:50:34Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Interest rates of all outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA400 || DWORD || &#039;&#039;&#039;dwInterestRateSum&#039;&#039;&#039; ||  || The combined Total Sum of all the interest rates of outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four neighbor cities (32 bytes each), clockwise from bottom left&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=725</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=725"/>
		<updated>2025-03-19T10:33:09Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Interest rates of all outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || New Populations that moved into the city from last count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four neighbor cities (32 bytes each), clockwise from bottom left&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
	<entry>
		<id>https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=724</id>
		<title>Known global variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.sc2kfix.net/w/index.php?title=Known_global_variables&amp;diff=724"/>
		<updated>2025-03-19T07:45:28Z</updated>

		<summary type="html">&lt;p&gt;NotAnyoneSpecial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Heavy construction}}&lt;br /&gt;
&lt;br /&gt;
This is a table of global variables in SimCity 2000 that have been at least partially reverse engineered and given names. It is probably going to be unpleasant to update, but at least it looks nice and you can sort it.&lt;br /&gt;
&lt;br /&gt;
Data about where in the MISC chunk certain variables are located is from dfloer&#039;s sc2k-docs repository on GitHub (CC BY-SA 4.0).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Uncategorized variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C702C || CWnd* || &#039;&#039;&#039;pCWndRootWindow&#039;&#039;&#039; ||  || Pointer to the MFC CWnd class for the &amp;quot;root window&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| 0x4C7104 || {{Win32_BOOL}} || &#039;&#039;&#039;bPriscillaActivated&#039;&#039;&#039; ||  || Whether or not the debug menu has been activated&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F0 || {{Win32_BOOL}} || &#039;&#039;&#039;bOptionsMusicEnabled&#039;&#039;&#039; || 0x0FFC || Whether or not music is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C71F4 || {{Win32_BOOL}} || &#039;&#039;&#039;bSoundEffectsEnabled&#039;&#039;&#039; ||  || Whether or not sound effects are enabled&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C7318 || WORD || &#039;&#039;&#039;wSimulationSpeed&#039;&#039;&#039; || 0x0FEC || 1-5 for Paused through African Swallow&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93AC || WORD || &#039;&#039;&#039;wTotalGeneratedWaterTiles&#039;&#039;&#039; ||  || Total number of generated watered tiles from water sources&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B0 || WORD || &#039;&#039;&#039;wTotalGeneratedPowerTiles&#039;&#039;&#039; ||  || Total number of generated powered tiles from power plants&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || WORD || &#039;&#039;&#039;wXVALTiles_TotalCount&#039;&#039;&#039; ||  || Total count of XVAL masked tiles, needed for Average Land Value.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9428 || WORD || &#039;&#039;&#039;wIndustrialMixPollutionBonus&#039;&#039;&#039; ||  || -1 to 2 used to calculate the map wide Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C942C || WORD || &#039;&#039;&#039;wViewRotation&#039;&#039;&#039; || 0x0008 || 0 = north, 1 = west, 2 = south, 3 = east&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C4 || DWORD || &#039;&#039;&#039;dwArcologyPopulation&#039;&#039;&#039; || 0x1020 || Population of the city specifically in arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9EF0 || WORD[50] || &#039;&#039;&#039;wArrBondData&#039;&#039;&#039; || 0x0610 || Interest rates of all outstanding bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1A0 || char* || &#039;&#039;&#039;pszCityName&#039;&#039;&#039; ||   || Pointer to the city name, loaded/saved as the CNAM chunk&lt;br /&gt;
|- &lt;br /&gt;
| 0x4CA1BC || WORD || &#039;&#039;&#039;wNationalEconomyTrend&#039;&#039;&#039; || 0x005C || Affects interest rates, apparently&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E8 || WORD || &#039;&#039;&#039;wIndustrialMixBonus&#039;&#039;&#039; ||  || This is used in RCI demand generation as a bonus (cities dominated by 1 industry receive growth bonuses)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1DC || WORD || &#039;&#039;&#039;wPrisonBonus&#039;&#039;&#039; ||  || This sets if power stations get increased Police power from Prisons.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1EC || WORD || &#039;&#039;&#039;wCurrentMapToolGroup&#039;&#039;&#039; ||  || Currently selected mapping tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F0 || WORD || &#039;&#039;&#039;wCityNeighborConnections1500&#039;&#039;&#039; ||  || Count of all $1500 (industrial) neighbor connections (railroad, highways)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA41C || WORD || &#039;&#039;&#039;wSubwayXUNDCount&#039;&#039;&#039; || 0x0FE8 || Seems to be mostly used for budget calculations&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA420 || WORD || &#039;&#039;&#039;wDisasterType&#039;&#039;&#039; || 0x0070 || The ID of the next disaster to occur&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA42C || WORD || &#039;&#039;&#039;wCityMode&#039;&#039;&#039; || 0x0004 || 0 = map editor, 1 = regular gameplay, 2 = scenario mode&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA440 || int || &#039;&#039;&#039;dwCityLandValue&#039;&#039;&#039; || 0x0028 || Sum of all values in XVAL&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA444 || int || &#039;&#039;&#039;dwCityFunds&#039;&#039;&#039; || 0x0014 || How much money the city has&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4C8 || WORD* || &#039;&#039;&#039;dwTileCount&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4CC || DWORD || &#039;&#039;&#039;dwNewPopulations&#039;&#039;&#039; ||  || Pointer to an array of tile counts for every valid iTileID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoGoToFlag&#039;&#039;&#039; ||  || Auto-Go To Flag&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5D8 || DWORD || &#039;&#039;&#039;dwCityValue&#039;&#039;&#039; || 0x0024 || Appears to have something to do with bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F0 || WORD || &#039;&#039;&#039;wCityGarbage&#039;&#039;&#039; || 0x0040 || Entirely unused. Initialized to 0 when the city is founded, goes up by dwCityPopulation on the 22nd of every month&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F4 || WORD || &#039;&#039;&#039;wCityStartYear&#039;&#039;&#039; || 0x000C || The year the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA5F8 || DWORD || &#039;&#039;&#039;dwCityUnemployment&#039;&#039;&#039; ||  || (Population in &amp;quot;Abandoned buildings&amp;quot; x 100) / (Population in &amp;quot;Abandoned buildings&amp;quot; + TotalPopulation + 1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA81C || WORD || &#039;&#039;&#039;wMonsterXTHGIndex&#039;&#039;&#039; ||  || Which XTHG entry the monster&#039;s [[Thing]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA928 || DWORD || &#039;&#039;&#039;dwNationalPopulation&#039;&#039;&#039; || 0x0050 || Population of SimNation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA934 || WORD* || &#039;&#039;&#039;dwMilitaryTiles&#039;&#039;&#039; ||  || Pointer to the beginning of the military tiles in the dwTileCount array&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA938 || WORD || &#039;&#039;&#039;wNationalTax&#039;&#039;&#039; || 0x0058 || The national base tax rate or the &amp;quot;fed rate&amp;quot;, for calculating bond interest rates&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA40 || DWORD || &#039;&#039;&#039;dwCityOrdinances&#039;&#039;&#039; || 0x0FA0 || Flags for which city [[ordinances]] are enacted&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA50 || DWORD || &#039;&#039;&#039;dwPowerUsedPercentage&#039;&#039;&#039; ||  || Percentage of power capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA74 || DWORD || &#039;&#039;&#039;dwCityPopulation&#039;&#039;&#039; || 0x102C || Total city population, excluding arcologies&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD28 || DWORD || &#039;&#039;&#039;dwCityFame&#039;&#039;&#039; || 0x0038 || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD2C || {{Win32_BOOL}} || &#039;&#039;&#039;bYearEndFlag&#039;&#039;&#039; || 0x0E3C || Whether or not the first of the month is the start of a new year&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD44 || {{Win32_BOOL}} || &#039;&#039;&#039;bInScenario&#039;&#039;&#039; ||  || Whether or not this game is a scenario&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD58 || neighbor_city_t[4] || &#039;&#039;&#039;stNeighborCities&#039;&#039;&#039; || 0x06D8 || Array of four neighbor cities (32 bytes each), clockwise from bottom left&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADE0 || BYTE || &#039;&#039;&#039;bWeatherHeat&#039;&#039;&#039; || 0x0060 || Weather heat level (Temperature in Fahrenheit = [WeatherHeat - 100] as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE04 || DWORD || &#039;&#039;&#039;dwCityDays&#039;&#039;&#039; || 0x0010 || How many days have elapsed since the city was founded&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE0C || BYTE || &#039;&#039;&#039;bWeatherWind&#039;&#039;&#039; || 0x0064 || Weather wind speed (miles per hour as seen in newspapers)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB010 || WORD || &#039;&#039;&#039;wCityProgression&#039;&#039;&#039; || 0x0078 || Flags for city reward progression&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB014 || DWORD || &#039;&#039;&#039;dwNationalValue&#039;&#039;&#039; || 0x0054 || Gross National Product&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB018 || DWORD || &#039;&#039;&#039;dwCityAdvertising&#039;&#039;&#039; || 0x003C || Completely unused&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB01C || WORD || &#039;&#039;&#039;wCityCurrentMonth&#039;&#039;&#039; ||  || Which month of the year it is (0-indexed; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB020 || WORD || &#039;&#039;&#039;wCityElapsedYears&#039;&#039;&#039; ||  || Years since the city was founded (calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1A8 || DWORD || &#039;&#039;&#039;dwEmigratedPop&#039;&#039;&#039; ||  || Populations that have left the City&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1B8 || void* || &#039;&#039;&#039;pArrSpriteHeaders&#039;&#039;&#039; ||  || Pointer to the array of loaded sprite headers&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D0 || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperSubscription&#039;&#039;&#039; || 0x1004 || Whether or not the Subscription newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3D4 || BYTE || &#039;&#039;&#039;bWeatherHumidity&#039;&#039;&#039; || 0x0068 || Weather humidity value (Rain in mm as seen in newspaper)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3DC || WORD || &#039;&#039;&#039;wSewerBonus&#039;&#039;&#039; ||  || Whether the city has adequate wastewater treatment facilities for use in the Pollution Divisor&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E8 || WORD || &#039;&#039;&#039;wCityCurrentSeason&#039;&#039;&#039; ||  || Which season it is (0 = winter, 1 = spring, 2 = summer, 3 = autumn; calculated from dwCityDays)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB38C || microsim_t* || &#039;&#039;&#039;dwMicroSimArr&#039;&#039;&#039; ||  || Pointer to the array of [[microsim]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB404 || WORD || &#039;&#039;&#039;wCityDifficulty&#039;&#039;&#039; || 0x001C || Game difficulty (0 = no city founded, 1 = easy, 2 = medium, 3 = hard)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB40C || BYTE || &#039;&#039;&#039;bWeatherTrend&#039;&#039;&#039; || 0x006C || What the [[WeatherTrend type|current weather type]] is&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB410 || DWORD || &#039;&#039;&#039;bWorkforceLE&#039;&#039;&#039; ||  || Workforce Life Expectancy &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB430 || WORD[17] || &#039;&#039;&#039;wCityInventionYears&#039;&#039;&#039; || 0x0738 || What years different technologies are invented in&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB454 || DWORD || &#039;&#039;&#039;dwCityCrime&#039;&#039;&#039; || 0x002C || Sum of all values in XCRM&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB458 || WORD || &#039;&#039;&#039;wCityCenterXCoord&#039;&#039;&#039; ||  || The X location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB45C || WORD || &#039;&#039;&#039;wCityCenterYCoord&#039;&#039;&#039; ||  || The Y location of where the Simulator deems to be the &amp;quot;city center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB460 || DWORD || &#039;&#039;&#039;dwWorkforcePercent&#039;&#039;&#039; ||  || Workforce Percent&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB464 || WORD || &#039;&#039;&#039;wCurrentCityToolGroup&#039;&#039;&#039; ||  || Currently selected city tool group&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B0 || {{Win32_BOOL}} || &#039;&#039;&#039;bAutoBudgetFlag&#039;&#039;&#039; ||  || When set to 1, the budget window will not pop up in January nor will there be a Fiscal Warning given for negative CityFunds.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B4 || DWORD || &#039;&#039;&#039;dwWorkforceEQ&#039;&#039;&#039; ||  || Workforce Educational Quotient &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4B8 || DWORD || &#039;&#039;&#039;dwWaterUsedPercentage&#039;&#039;&#039; ||  || Percentage of water capacity in use&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4BC || {{Win32_BOOL}} || &#039;&#039;&#039;bNewspaperExtra&#039;&#039;&#039; || 0x1008 || Whether or not the Extra!!! newspaper is checked&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4CC || void* || &#039;&#039;&#039;dwBudgetArr&#039;&#039;&#039; ||  || Pointer to the budget array (needs some reverse engineering and/or documentation work)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D4 || {{Win32_BOOL}} || &#039;&#039;&#039;bNoDisasters&#039;&#039;&#039; || 0x1000 || Whether or not disasters should be disabled (also disables city council autonomy)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4D8 || WORD || &#039;&#039;&#039;wCityNeighborConnections1000&#039;&#039;&#039; ||  || Count of all $1000 (commercial) neighbor connections (roads)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E4 || BYTE || &#039;&#039;&#039;bMilitaryBaseType&#039;&#039;&#039; || 0x0EF4 || Military base type (0 = not offered yet, 1 = declined/no location, 2 = army, 3 = air force, 4 = navy, 5 = missile silos)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4E8 || DWORD || &#039;&#039;&#039;dwCityBonds&#039;&#039;&#039; || 0x0018 || Total number of current outstanding city bonds&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8F8 || WORD || &#039;&#039;&#039;wCityResidentialDemand&#039;&#039;&#039; || 0x0718 || Residential demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FA || WORD || &#039;&#039;&#039;wCityCommericalDemand&#039;&#039;&#039; || 0x071C || Commercial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC8FC || WORD || &#039;&#039;&#039;wCityIndustrialDemand&#039;&#039;&#039; || 0x0720 || Industrial demand (-2000 to +2000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC910 || DWORD || &#039;&#039;&#039;dwCityPollution&#039;&#039;&#039; ||  || Sum of all Pollution in city.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC918 || WORD || &#039;&#039;&#039;wScenarioDisasterID&#039;&#039;&#039; ||  || ID of the disaster set for the given scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91A || BYTE || &#039;&#039;&#039;bScenarioDisasterX&#039;&#039;&#039; ||  || X coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91B || BYTE || &#039;&#039;&#039;bScenarioDisasterY&#039;&#039;&#039; ||  || Y coordinate for preparing the disaster.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91C || BYTE || &#039;&#039;&#039;wScenarioTimeLimitMonths&#039;&#039;&#039; ||  || Time limit of the scenario in months.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC91E || DWORD || &#039;&#039;&#039;dwScenarioCitySize&#039;&#039;&#039; ||  || Target total population for the scenario exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC922 || DWORD || &#039;&#039;&#039;dwScenarioResPopulation&#039;&#039;&#039; ||  || Target Residential population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC926 || DWORD || &#039;&#039;&#039;dwScenarioComPopulation&#039;&#039;&#039; ||  || Target Commericial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92A || DWORD || &#039;&#039;&#039;dwScenarioIndPopulation&#039;&#039;&#039; ||  || Target Industrial population for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC92E || DWORD || &#039;&#039;&#039;dwScenarioCashGoal&#039;&#039;&#039; ||  || Cash goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC932 || DWORD || &#039;&#039;&#039;dwScenarioLandValueGoal&#039;&#039;&#039; ||  || Land Value goal target for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93A || WORD || &#039;&#039;&#039;wScenarioPollutionLimit&#039;&#039;&#039; ||  || Pollution limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC93E || WORD || &#039;&#039;&#039;wScenarioCrimeLimit&#039;&#039;&#039; ||  || Crime limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC942 || WORD || &#039;&#039;&#039;wScenarioTrafficLimit&#039;&#039;&#039; ||  || Traffic limit for the scenario.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC946 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal1&#039;&#039;&#039; ||  || Scenario building goal one.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC947 || BYTE || &#039;&#039;&#039;bScenarioBuildingGoal2&#039;&#039;&#039; ||  || Scenario building goal two.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC948 || WORD || &#039;&#039;&#039;wScenarioBuildingGoal1Count&#039;&#039;&#039; ||  || Scenario building goal one count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC94A || WORD || &#039;&#039;&#039;wScenarioBuildingGoal2Count&#039;&#039;&#039; ||  || Scenario building goal two count.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC950 || WORD || &#039;&#039;&#039;wSelectedSubtoolBulldozer&#039;&#039;&#039; ||  || (*** See below) Selected Bulldozer mode (Demolish/Clear, Level Terrain, Raise Terrain, Lower Terrain, De-zone) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC952 || WORD || &#039;&#039;&#039;wSelectedSubtoolNature&#039;&#039;&#039; ||  || Selected Nature mode (trees, water) (forests and stream are available in map-editing mode) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC954 || WORD || &#039;&#039;&#039;wSelectedSubtoolDispatch&#039;&#039;&#039; ||  || Selected Dispatch mode (Police, Fire, Military (if facilities for the first two aren&#039;t present)) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC956 || WORD || &#039;&#039;&#039;wSelectedSubtoolPower&#039;&#039;&#039; ||  || Selected Power mode (Power Lines, Power Plant) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC958 || WORD || &#039;&#039;&#039;wSelectedSubtoolWater&#039;&#039;&#039; ||  || Selected Water mode (Pipes, Water Pump, Water Tower, Treatment, Desalinization) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95A || WORD || &#039;&#039;&#039;wSelectedSubtoolRewards&#039;&#039;&#039; ||  || Selected Rewards mode (Mayor&#039;s Hour, City Hall, Statue, Military Base, Braun Llama Dome, Arcologies) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95C || WORD || &#039;&#039;&#039;wSelectedSubtoolRoads&#039;&#039;&#039; ||  || Selected Roads mode (Road, Highway, Tunnel, Onramp, Bus Depot) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC95E || WORD || &#039;&#039;&#039;wSelectedSubtoolRail&#039;&#039;&#039; ||  || Selected Rail mode (Rail, Subway. Rail Depot, Sub Station, Sub&amp;lt;--&amp;gt;Rail) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC960 || WORD || &#039;&#039;&#039;wSelectedSubtoolPorts&#039;&#039;&#039; ||  || Selected Ports mode (Seaport, Airport) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC962 || WORD || &#039;&#039;&#039;wSelectedSubtoolResidential&#039;&#039;&#039; ||  || Selected Residential mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC964 || WORD || &#039;&#039;&#039;wSelectedSubtoolCommercial&#039;&#039;&#039; ||  || Selected Commercial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC966 || WORD || &#039;&#039;&#039;wSelectedSubtoolIndustrial&#039;&#039;&#039; ||  || Selected Industrial mode (Light, Dense) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC968 || WORD || &#039;&#039;&#039;wSelectedSubtoolEducation&#039;&#039;&#039; ||  || Selected Education mode (School, College, Library, Museum) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96A || WORD || &#039;&#039;&#039;wSelectedSubtoolServices&#039;&#039;&#039; ||  || Selected Services mode (Police, Fire Station, Hospital, Prison) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC96C || WORD || &#039;&#039;&#039;wSelectedSubtoolParks&#039;&#039;&#039; ||  || Selected Parks mode (Small Park, Big Park, Zoo, Stadium, Marina) **&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB68 || WORD || &#039;&#039;&#039;wHighlightedTileX&#039;&#039;&#039; ||  || The X coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB70 || WORD || &#039;&#039;&#039;wHighlightedTileY&#039;&#039;&#039; ||  || The Y coordinate of the tile currently highlighted on the map&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB7C || DWORD || &#039;&#039;&#039;dwLFSRState&#039;&#039;&#039; ||  || Randomness state for the linear feedback shift register PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CDB80 || DWORD || &#039;&#039;&#039;dwLCGState&#039;&#039;&#039; ||  || Randomness state for the linear congruential generator PRNG&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CE8C0 || AFX_CORE_STATE || &#039;&#039;&#039;pCWinApp&#039;&#039;&#039; ||  || Pointer to a CWinApp (needs reverse engineering -- maybe IDA picked this one out on its own?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C93B4 || DWORD || &#039;&#039;&#039;dwXVALTotalCount&#039;&#039;&#039; ||  || A total count of XVAL &amp;quot;tiles&amp;quot; used in land value average calc.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
** The choices for each SelectedSubtool are for reference purposes only, they may not reflect the actual internal order.&lt;br /&gt;
&lt;br /&gt;
*** wSelectedSubtoolBulldozer - Address 0x4CC94C (WORD array - 18 entries) - unique case to override without changing the currently selected tool.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Terrain generation variables&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94C0 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasOcean&#039;&#039;&#039; || 0x0E44 || Whether or not the city was generated with an ocean, also determines if City is eligible for Naval Base.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1E0 || WORD || &#039;&#039;&#039;wCityTerrainSliderHills&#039;&#039;&#039; ||  || Slider value for hill coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA818 || __int16 || &#039;&#039;&#039;wWaterLevel&#039;&#039;&#039; || 0x0E40 || Water table level&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAAF8 || WORD || &#039;&#039;&#039;wCityTerrainSliderWater&#039;&#039;&#039; ||  || Slider vvalue for water coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CADD8 || WORD || &#039;&#039;&#039;wCityTerrainSliderTrees&#039;&#039;&#039; ||  || Slider value for tree coverage during terrain generation&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F8 || {{Win32_BOOL}} || &#039;&#039;&#039;bCityHasRiver&#039;&#039;&#039; || 0x0E48 || Whether or not the city was generated with a river&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
IF YOU&#039;RE READING THIS, HERE&#039;S AN EASY TASK:&lt;br /&gt;
These need to be put into tables. I&#039;m too tired to do it now.&lt;br /&gt;
&lt;br /&gt;
.bss:004CC918     wScenarioDisasterID dw ?                ; DATA XREF: sub_4345C0:loc_434650↑o&lt;br /&gt;
.bss:004CC918                                             ; sub_4345C0:loc_43467E↑o ...&lt;br /&gt;
.bss:004CC91A     bScenarioDisasterX db ?                 ; DATA XREF: sub_4345C0+1D6↑r&lt;br /&gt;
.bss:004CC91B     bScenarioDisasterY db ?                 ; DATA XREF: sub_4345C0+1CB↑r&lt;br /&gt;
.bss:004CC91C     wScenarioTimeLimitMonths dw ?           ; DATA XREF: _SimulationProcessTick+517↑w&lt;br /&gt;
.bss:004CC91C                                             ; sub_4345C0+CB↑o&lt;br /&gt;
.bss:004CC91E     dwScenarioCitySize dd ?                 ; DATA XREF: _SimulationProcessTick+402↑r&lt;br /&gt;
.bss:004CC91E                                             ; sub_4345C0+D8↑r ...&lt;br /&gt;
.bss:004CC922     dwScenarioResPopulation dd ?            ; DATA XREF: _SimulationProcessTick+411↑r&lt;br /&gt;
.bss:004CC922                                             ; sub_4345C0+EB↑r ...&lt;br /&gt;
.bss:004CC926     dwScenarioComPopulation dd ?            ; DATA XREF: _SimulationProcessTick+423↑r&lt;br /&gt;
.bss:004CC926                                             ; sub_4345C0+FE↑r ...&lt;br /&gt;
.bss:004CC92A     dwScenarioIndPopulation dd ?            ; DATA XREF: _SimulationProcessTick+438↑r&lt;br /&gt;
.bss:004CC92A                                             ; sub_4345C0+111↑r ...&lt;br /&gt;
.bss:004CC92E     dwScenarioCashGoal dd ?                 ; DATA XREF: _SimulationProcessTick+455↑r&lt;br /&gt;
.bss:004CC92E                                             ; sub_4345C0+124↑r ...&lt;br /&gt;
.bss:004CC932     dwScenarioLandValueGoal dd ?            ; DATA XREF: _SimulationProcessTick:loc_413981↑r&lt;br /&gt;
.bss:004CC932                                             ; sub_4345C0+137↑r ...&lt;br /&gt;
.bss:004CC936     word_4CC936     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_413992↑r&lt;br /&gt;
.bss:004CC936                                             ; sub_4345C0+14A↑o&lt;br /&gt;
.bss:004CC938     word_4CC938     dw ?                    ; DATA XREF: _SimulationProcessTick:loc_4139A3↑r&lt;br /&gt;
.bss:004CC938                                             ; sub_4345C0+157↑o&lt;br /&gt;
.bss:004CC93A     wScenarioPollutionLimit dd ?            ; DATA XREF: _SimulationProcessTick:loc_4139B4↑r&lt;br /&gt;
.bss:004CC93A                                             ; sub_4345C0+164↑r ...&lt;br /&gt;
.bss:004CC93E     wScenarioCrimeLimit dd ?                ; DATA XREF: _SimulationProcessTick:loc_4139C9↑r&lt;br /&gt;
.bss:004CC93E                                             ; sub_4345C0+177↑r ...&lt;br /&gt;
.bss:004CC942     wScenarioTrafficLimit dd ?              ; DATA XREF: _SimulationProcessTick:loc_4139DE↑r&lt;br /&gt;
.bss:004CC942                                             ; sub_4345C0+18A↑r ...&lt;br /&gt;
.bss:004CC946     bScenarioBuildingGoal1 db ?             ; DATA XREF: _SimulationProcessTick+4D5↑r&lt;br /&gt;
.bss:004CC947     bScenarioBuildingGoal2 db ?             ; DATA XREF: _SimulationProcessTick+4F5↑r&lt;br /&gt;
.bss:004CC948     wScenarioBuildingGoal1Count dw ?        ; DATA XREF: _SimulationProcessTick+4DF↑r&lt;br /&gt;
.bss:004CC948                                             ; sub_4345C0+19D↑o&lt;br /&gt;
.bss:004CC94A     wScenarioBuildingGoal2Count dw ?        ; DATA XREF: _SimulationProcessTick+4FF↑r&lt;br /&gt;
.bss:004CC94A                                             ; sub_4345C0+1AA↑o&lt;br /&gt;
.bss:004CC94C                     align 10h&lt;br /&gt;
.bss:004CC950     ; __int16 wSelectedSubtoolBulldozer[]&lt;br /&gt;
.bss:004CC950     wSelectedSubtoolBulldozer dw ?          ; DATA XREF: sub_406FD0+AC↑r&lt;br /&gt;
.bss:004CC950                                             ; sub_40E250+18C↑w ...&lt;br /&gt;
.bss:004CC952     wSelectedSubtoolNature dw ?             ; DATA XREF: sub_422200+B6↑w&lt;br /&gt;
.bss:004CC952                                             ; sub_442440+74↑r ...&lt;br /&gt;
.bss:004CC954     wSelectedSubtoolDispatch dw ?           ; DATA XREF: sub_422200+D5↑w&lt;br /&gt;
.bss:004CC954                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F2F7↑r ...&lt;br /&gt;
.bss:004CC956     wSelectedSubtoolPower dw ?              ; DATA XREF: sub_422200+F4↑w&lt;br /&gt;
.bss:004CC956                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F336↑r ...&lt;br /&gt;
.bss:004CC958     wSelectedSubtoolWater dw ?              ; DATA XREF: sub_422200+113↑w&lt;br /&gt;
.bss:004CC958                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F3DD↑r ...&lt;br /&gt;
.bss:004CC95A     wSelectedSubtoolRewards dw ?            ; DATA XREF: sub_422200:loc_42231F↑w&lt;br /&gt;
.bss:004CC95A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F462↑r ...&lt;br /&gt;
.bss:004CC95C     wSelectedSubtoolRoads dw ?              ; DATA XREF: sub_422200+155↑w&lt;br /&gt;
.bss:004CC95C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F4BF↑r ...&lt;br /&gt;
.bss:004CC95E     wSelectedSubtoolRail dw ?               ; DATA XREF: sub_422200+174↑w&lt;br /&gt;
.bss:004CC95E                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F558↑r ...&lt;br /&gt;
.bss:004CC960     wSelectedSubtoolPorts dw ?              ; DATA XREF: sub_422200+193↑w&lt;br /&gt;
.bss:004CC960                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F60F↑r&lt;br /&gt;
.bss:004CC962     wSelectedSubtoolResidential dw ?        ; DATA XREF: sub_40E250+1B8↑w&lt;br /&gt;
.bss:004CC962                                             ; sub_422200+1B2↑w ...&lt;br /&gt;
.bss:004CC964     wSelectedSubtoolCommercial dw ?         ; DATA XREF: sub_40E250+1C4↑w&lt;br /&gt;
.bss:004CC964                                             ; sub_422200+1D1↑w ...&lt;br /&gt;
.bss:004CC966     wSelectedSubtoolIndustrial dw ?         ; DATA XREF: sub_40E250+1D0↑w&lt;br /&gt;
.bss:004CC966                                             ; sub_422200+1F0↑w ...&lt;br /&gt;
.bss:004CC968     wSelectedSubtoolEducation dw ?          ; DATA XREF: sub_422200+20F↑w&lt;br /&gt;
.bss:004CC968                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F6F7↑r&lt;br /&gt;
.bss:004CC96A     wSelectedSubtoolServices dw ?           ; DATA XREF: sub_422200+22E↑w&lt;br /&gt;
.bss:004CC96A                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F729↑r ...&lt;br /&gt;
.bss:004CC96C     wSelectedSubtoolParks dw ?              ; DATA XREF: sub_422200+24D↑w&lt;br /&gt;
.bss:004CC96C                                             ; _CSimCityView_DoLeftMouseCityMode:loc_43F787↑r ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Map data pointers&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the variable.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9430 || void* || &#039;&#039;&#039;dwMapXPLC&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for police coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C9F58 || void* || &#039;&#039;&#039;dwMapXTER&#039;&#039;&#039; ||  || Pointer to a 128x128 map of terrain data (1 byte of type map_XTER_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA1F0 || void* || &#039;&#039;&#039;dwMapXZON&#039;&#039;&#039; ||  || Pointer to a 128x128 map of zone and corner info (1 byte of type map_XZON_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3EC || void* || &#039;&#039;&#039;dwMapXMIC&#039;&#039;&#039; ||  || Pointer to an array of type map_XMIC_t[150] containing MicroSim data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA198 || void* || &#039;&#039;&#039;dwMapXLAB&#039;&#039;&#039; ||  || Pointer to an array of type map_XLAB_t[256].&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA434 || void* || &#039;&#039;&#039;dwMapXTHG&#039;&#039;&#039; ||  || Pointer to an array of type map_XTHG_t[256] containing [[Thing]]s&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA448 || void* || &#039;&#039;&#039;dwMapXPOP&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for population density (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA4D8 || void* || &#039;&#039;&#039;dwMapXCRM&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for crime (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA600 || void* || &#039;&#039;&#039;dwMapXTXT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of [[XTXT]] IDs (1 byte per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA828 || void* || &#039;&#039;&#039;dwMapXPLT&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for pollution (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA940 || void* || &#039;&#039;&#039;dwMapXTRF&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; for traffic (1 byte per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA78 || void* || &#039;&#039;&#039;dwMapXFIR&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; for fire coverage (1 byte per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAB10 || void* || &#039;&#039;&#039;dwMapXBIT&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile flags (1 byte of type map_[[XBIT]]_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAE10 || void* || &#039;&#039;&#039;dwMapALTM&#039;&#039;&#039; ||  || Pointer to a 128x128 map of altitude data (1 byte of type map_ALTM_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB028 || void* || &#039;&#039;&#039;dwMapXROG&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of rate of growth data (1 byte of unknown type per 4x4 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB0A8 || void* || &#039;&#039;&#039;dwMapXVAL&#039;&#039;&#039; ||  || Pointer to a 64x64 &amp;quot;minimap&amp;quot; of land value (1 byte of &amp;lt;code&amp;gt;(full value / 1000 - 1)&amp;lt;/code&amp;gt; per 2x2 block)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB1D0 || void* || &#039;&#039;&#039;dwMapXUND&#039;&#039;&#039; ||  || Pointer to a 128x128 map of underground map data (1 byte of type map_XUND_t per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC470 || void* || &#039;&#039;&#039;dwMapXGRP&#039;&#039;&#039; ||  || Pointer to the historical graph data&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC4F0 || void* || &#039;&#039;&#039;dwMapXBLD&#039;&#039;&#039; ||  || Pointer to a 128x128 map of tile IDs (1 byte of type enumTileID per tile)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F4 || void* || &#039;&#039;&#039;dwMapTempValMap1&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6F8 || void* || &#039;&#039;&#039;dwNaturalBeauty_ResCom&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply, terrain slopes, parks).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC6FC || void* || &#039;&#039;&#039;dwMapTempValMap2&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (pollution?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CC778 || void* || &#039;&#039;&#039;dwNaturalBeauty_Industrial&#039;&#039;&#039; ||  || Pointer to a 32x32 &amp;quot;minimap&amp;quot; of 4x4 parcels needed for land value calculation (this includes surface water, water supply).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Simulation Arrays&lt;br /&gt;
|-&lt;br /&gt;
! {{tooltip|Address|The address of the variable.}} ! {{tooltip|Type|What type this variable is declared as.}} ! {{tooltip|Name|The name of the array.}} ! {{tooltip|MISC offset|If this variable is stored in the .sc2 MISC chunk, this is where in the chunk it&#039;s stored.}} ! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 004C94B4 || void* || &#039;&#039;&#039;pRawPopTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the Population Table&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAA70 || void* || &#039;&#039;&#039;pLETable&#039;&#039;&#039; ||  || Pointer to 20-item array for the LE Table, these are as aggregate sums for the entire age group (LE/RawPop=AgeGroupLE).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4C94BC || void* || &#039;&#039;&#039;pEQTable&#039;&#039;&#039; ||  || Pointer to 20-item array for the EQ Table, these are as aggregate sums for the entire age group (EQ/RawPop=AgeGroupEQ).&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3F0 || void* || &#039;&#039;&#039;pIndividualIndPops&#039;&#039;&#039; ||  || Pointer to 11-item array for the Raw Populations for City Industries Table.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CB3E0 || void* || &#039;&#039;&#039;pIndividualIndTaxRate&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s Tax Rates.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA3F4 || void* || &#039;&#039;&#039;pIndividualIndDemands&#039;&#039;&#039; ||  || Pointer to 11-item array for the each of the Industrial Group&#039;s current Demand.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4CA428 || void* || &#039;&#039;&#039;pZonePops&#039;&#039;&#039; ||  || Pointer to 8-item array of Zone Populations (/10): &#039;&#039;&#039;AllTotalPops, Light Res, Dense Res, Light Com, Dense Com, Light Ind, Dense Ind, Abandoned.&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 0x4CAD10 || void* || &#039;&#039;&#039;pNeighborData&#039;&#039;&#039; ||  || Pointer to Neighbor Populations&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Game data]]&lt;/div&gt;</summary>
		<author><name>NotAnyoneSpecial</name></author>
	</entry>
</feed>