Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A native compatibility implementation for the MS-DOS game Battle Isle and its data disks.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Battle Isle (DOS) taken apart, with the aim of a native compatibility
implementation requiring an installed copy of the original game: our
own C code, which runs the game with the data of the player's GOG
release. See PROVENANCE.md.
1. Source from the programs (src/*.hints): doskit/tools/build.py
makes each program's assembly source from the player's copy and
checks that it assembles back to the same bytes.
2. Understanding: names, structures and rules in the hints, checked
by runs of the original (doskit/tools/run.py).
3. The port (port/): C on doskit's runtime.查看完整 README ↗Battle Isle (DOS) taken apart, with the aim of a native compatibility implementation requiring an installed copy of the original game: our own C code, which runs the game with the data of the player's GOG release. See PROVENANCE.md.
src/*.hints): doskit/tools/build.py
makes each program's assembly source from the player's copy and
checks that it assembles back to the same bytes.doskit/tools/run.py).port/): C on doskit's runtime.No game files go into this repository, and no bytes of them.
git submodule update --init # doskit
git config core.hooksPath hooks # once per clone
python3 doskit/tools/isox.py /path/to/game.gog # -> game/
python3 doskit/tools/build.py src/NAME.hints
python3 doskit/tools/check.py
sh port/build.sh # port\build.bat on Windows
Python 3 with capstone (pip install capstone).
src/*.hints: what is known about each program.tools/NAMEfiles.py: a tool for each data format (tpwmfiles.py: the
packed files; palfiles.py: the palettes; ifffiles.py: the
pictures; libfiles.py: the graphics libraries; mapfiles.py: the
maps and their overviews; datfiles.py: the tables of unit types,
ground, maps' codes and AMOK.DAT; txtfiles.py: the texts and the
small font; sndfiles.py: the songs and the sound effects, played
again into the AdLib's registers and compared with a run's;
screens.py: the game's screens drawn from a run's memory
and compared with its video memory), and for the rules: fight.py
(a fight's outcome), scene.py (the fight scene, a pass at a time:
its values and its picture), moves.py (where a unit can move and
fire, the path it takes), turn.py (a move carried out, the change of
phase, a map's end) and computer.py (the computer player's
assessment, plan and commands, and the keys it carries them out
with), each done again from a run's memory and compared with what the
game made of it.port/: the implementation in C (its README says how far it is).docs/HANDOFF.md: state, what was learned, what is next.AGENTS.md: the rules for working on this; PROVENANCE.md: where the
code comes from.doskit/: the tools and the runtime (a git submodule).