Systems / PC

DS1-Rebuilt

Dungeon Siege (2002)

Status
Playable
Platforms
Linux x86-64; macOS on Apple Silicon (in game, scripted runs)
Game release
GOG, version 1.11.1
Repository
JTM-rootstorm/DS1-Rebuilt
SwARc
platforms/win32 (commits)
Updated
2026-11-10

The project SwARc grew out of: the lifter, x87 model, runtime and HLE were written for Dungeon Siege and factored out into the shared library on 2026-10-12.

Status

Single player is playable from a new game to Wesrin Cross (about an hour of hand-played testing). Verified in play:

Debug and release builds hold the game’s own 60 fps cap in game.

Not yet seen: regions past Wesrin Cross, the ending.

macOS

Builds and runs on Apple Silicon (tested on an M3 Pro, macOS 27) with SDL_GPU on Metal, and passes its tests. Scripted runs go from the menus and a new game through the intro cinematic (with its voice lines) into the farm: terrain, animated water, fog, the HUD, the pause menu, sound and voices, at a steady 60 fps, including fullscreen on a 5K display with the GPU cursor. Started and checked by hand (the intro, 5K fullscreen, the cursor) but not yet played by hand.

Native replacements

Known gaps

The project’s FINDINGS.md tracks what works, what was fixed and what is known to be missing.

Recent commits

  1. README: the native runtime functions, the STL naming step and the CRT oracle
  2. STL: name the vector, list, deque and string code too (tools/stl_names.py)
  3. STL: name the std::map/set instantiations (tools/stl_trees.py)
  4. CRT: sscanf's engine _input, _fltin2 and atof natively (SwARc msvc_crt::vc6)
  5. CRT: sprintf's engines _output and _woutput natively (SwARc msvc_crt::vc6)

All commits