Wing Commander ソース再構成 (github.com)
原題: Wing Commander source reconstruction (github.com)
原文(英語)を表示
This project recreates the source of Wing Commander as shipped in Wing
Commander: The Kilrathi Saga (1996). The reconstructed game core is C, the
ix
audio library is C++, and the reference build uses Microsoft Visual C++
4.20 to reproduce the original Win32 executable as closely as possible.
A native SDL2 port is available for Windows, Linux, and macOS. It supports Kilrathi Saga data and has partial support for the original DOS game data.
No copyrighted game data is included.
All 1,472 identified functions are accounted for: 1,470 have source implementations and the remaining two are compiler-generated jump thunks that must not be recreated manually.
make progress
reports implementation coverage. make report
calculates the
current per-function machine-code similarity to the retail executable; those
scores measure reconstruction fidelity, not gameplay completeness.
Download the archive for your platform from GitHub Releases. Extract its contents into an installed Kilrathi Saga or DOS Wing Commander directory and keep the bundled runtime libraries beside the executable. Start it with that directory as the working directory:
# macOS or Linux
cd /path/to/WC1
./wc1-modern
# Windows PowerShell
cd C:\path\to\WC1
.\wc1-modern.exe
DOS game-data support is partial. Compressed packet resources, OriginFX/AdLib music, and synthesized sound effects work, but other DOS-specific data or behavior may remain unsupported.
Pass --enhanced
to use the optional OpenGL renderer. It draws space objects
at output resolution while retaining the original indexed artwork, palettes,
cockpit, and HUD. The original software renderer remains the default.
./wc1-modern --enhanced
During spaceflight, scroll the mouse wheel up or down to increase or decrease speed.
Clone the submodules first:
git submodule update --init --recursive
Install a C/C++ compiler plus the SDL2 and LZO2 development packages, then run:
make -j modern
The executable is written to out-modern/wc1-modern
(or
out-modern/wc1-modern.exe
on Windows). make run-modern
launches it with
Kilrathi Saga data in data/full
; make run-modern-dos
uses DOS data in
data/dos
.
The default target builds WC1.EXE
with the original MSVC 4.20 toolchain under
wibo:
make -j
To run it, provide a Kilrathi Saga disc image. The Makefile extracts the game data, substitutes the reconstructed executable, downloads DREAMM when needed, and launches it in an emulated Windows 95 environment:
make run WC1_ISO=/path/to/kilrathi-saga.iso
Use make debug WC1_ISO=/path/to/kilrathi-saga.iso
to start DREAMM's debugger.
binary-comp
is required only for
comparison and verification commands:
python3 -m pip install "binary-comp[all] @ git+https://github.com/gg-sl-oss/binary-comp.git"
make compare-func FUNC=perform_maneuver
make verify
These commands require the retail executable at data/full/WC1.ORI.EXE
and the
original-code exports under code-full/
.
Contributor references are intentionally limited to:
- compiler and flag evidence;
- matching patterns;
- disassembly export workflow;
- compilation-unit order;
- function naming policy;
- SDL2 port architecture; and
- release process.
See LICENSE. OpenAI Codex and Anthropic Claude were used during the reconstruction.