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