Skip to main content

SimCity 3000 Unlimited

Widescreen hack

SimCity 3000 does only support a set amount of resolutions, widescreen resolutions are not natively supported. You can work around that by editing the main executable file in a hex editor.

Open the main executable file SC3U.exe in a hex editor and search for the following byte sequence:

8b 4c 24 04 8b 44 24 08 53

Overwrite the first four bytes with:

c2 08 00 90

Next search for the byte sequence:

8b 4c 24 04 8b 54 24 08 81 f9

Overwrite the first four bytes with:

c2 08 00 90

The game will now allow much higher resolutions. Keep in mind, however, that the interface will not scale with the resolution and on really high resolutions the UI of the game might be displayed really small and might get hard to read.

Scrolling speed fix

On modern systems, SimCity 3000 exhibits a scrolling bug in which the game scrolls way too fast.

To fix this, a mod can be installed, called cnc-ddraw. It limits the game's tickrate and adds a couple more neat features.

Download cnc-ddraw from the project's GitHub releases page. Drop the files ddraw.dll and ddraw.ini into the installation directory of the game, next to the SC3U.exe file. Then, start the game with the environment variable WINEDLLOVERRIDES=ddraw=n,b. If you have the game on Steam, this can be easily achieved by opening the game's settings and adding the following line to the launch options:

WINEDLLOVERRIDES=ddraw=n,b %command%

Shaders for upscaling

cnc-ddraw supports scaling with GLSL shaders. Download them from the libretro GitHub (Code → Download ZIP) and extract it into a sub-directory in the same folder as the ddraw.dll file you copied earlier, e.g. ~/.steam/steam/steamapps/common/SimCity 3000 Unlimited/Apps/Shaders.

Then edit ddraw.ini and set the following options (shortened, Ctrl-F the setting keys):

[ddraw]
shader=Shaders/interpolation/pixellate.glsl
renderer=opengl