Skip to content

Releases: sp00nznet/simcity2000

Release list

v0.4.0

Choose a tag to compare

@sp00nznet sp00nznet released this 22 Oct 09:50

SimCity 2000 (Win95) recompiled. Bring your own game: the installer builds from your Windows 95 SimCity 2000 disc, its .iso, or a folder with its SIMCITY.EXE. Nothing from the game is in these downloads.

Installers: download the one for your system, open it, choose your game, press Build (15 to 30 minutes, once). Windows SmartScreen asks first (More info, Run anyway). On Linux the game plays under Wine, in its own windows; the frontend's extras are Windows-only for now. SHA256SUMS.txt checks the downloads.

Added

  • One-click setup: Setup.cmd on Windows, ./setup.sh on Linux (the
    Windows exe cross-compiled with clang-cl and xwin, played under Wine). Each
    installs or names what is missing, copies the game from its disc, .iso or
    folder, makes the catalog, lifts, builds, and leaves a launcher.
  • An installer for Windows and Linux (recomp-launcher, launcher/launcher.json),
    built by .github/workflows/installer.yml.
  • The frontend, now the default (--classic shows the game's own windows):
    the game in the host's own Direct3D 11 window, with upscaling filters
    (nearest, smooth, sharp bilinear, Scale2x), glow, CRT, fullscreen, and a
    Dear ImGui menu bar: the game's menus mirrored with live check marks, plus
    Graphics, Effects, Play, Saves, Mods, Display, Debug (city stats) and Cheats
    (funds). Toolbar pop-ups appear as ImGui pop-ups. Settings persist in
    sc2k.ini. NOTICE and LICENSES/imgui.txt for the vendored Dear ImGui (MIT).
  • Day and night, seasons and weather, recoloured per palette entry from the
    game's own clock and weather, so lights stay lit at night (fx.c,
    docs/effects.md). sc2k --selftest for the effect math; SC2K_WATCH also
    shows day, month, weather and funds.
  • Play menu: mouse-wheel zoom, autosave for named cities, and a speed slider
    from 5% to 800% (SC2K_TURBO takes a multiplier, fractions too).
  • Saves menu: five quick-save slots with city name and time, through the
    game's own Save As / Load City, the dialog answered unseen.
  • Mods: a Mods menu, built-in mods (Always sunny), and mod DLLs from mods\
    with a C API (sc2k_mod.h); mods/stipend is a worked example.
  • A hero GIF for the README: NYC, recompiled, with a plane over the harbour.

Changed

  • The build needs no commercial tools: run_lift.py takes its function
    catalog from pcrecomp's disasm32 (pcrecomp#23), and writes it on the first
    run. IDA stays available with --catalog analysis/ida_funcs.json.
    Against IDA: precision 87.4%, recall 88.2%.
  • run_lift.py reads game/SIMCITY.EXE by default, drops recovered entries
    inside a known instruction, and clears stale chunk files before writing.

Fixed

  • The build links against pcrecomp main again: its lifter lifts SSE
    instructions now, and the host defines the g_xmm registers they use.
  • Under Wine, a callback fault reported as a read is taken as the fetch it is.
  • African Swallow ran the simulation flat out, a day per idle pass, so on a
    modern PC a new city's first year took a fifth of a second and the budget
    and newspaper came back to back (the original exe does it too). It now runs
    two days per timer tick, twice Cheetah, and follows the speed slider.
  • Frontend: the File dialog's list scrolls (scroll bar, mouse wheel, and arrow
    keys after clicking a file). Clicks move the game's keyboard focus, the wheel
    zooms only over the city, and dialogs' close buttons work. The picture sits
    right under the menu bar instead of centred.
  • The map's colours after loading a city: a deleted bitmap's handle came back
    for the new map, which was then tinted from the old city's colours.
  • Fog and seasons no longer tint the empty space around the map.