The House of the Dead: ReWrithe
A rewrite of the arcade game and its 1998 PC port combined.
- Type: PC port
- Game: The House of the Dead
- Runs on Windows
- By TawhidI-602
- Latest release v1.0.1, 2026-11-01
- Source: https://github.com/TawhidI-602/The-House-of-the-Dead-ReWrithe
README
The House of the Dead: ReWrithe
A rewrite of the arcade game and its PC port, combined.
The House of the Dead: ReWrithe is an unofficial, fan-made C++ rewrite of The House of the Dead (Sega, arcade 1996 / PC 1998). Its game logic takes the best of both versions (the PC port and the Sega Model 2C arcade game, Revision A), system by system, and it can draw the arcade version's more detailed models and textures or the PC's.
A fan-made rewrite, not affiliated with, endorsed by or sponsored by SEGA. "The House of the Dead" is SEGA's trademark, used here only to say which game this rewrite works with. No game data is included: you need your own, legally obtained arcade ROM set and 1998 PC game (see What you need to play).
Health warning (photosensitivity): the game has flashing lights (gunfire, hit flashes, the optional CRT-gun Shot Flash, which is off unless you pick the CRT Gun type). A few people may have seizures from flashing lights; stop playing if you feel unwell.
Mature content: an unrated fan project with horror violence and blood (Options: Blood Color can make it green, blue, purple, yellow or a custom colour; there is no "off"), intended for adults.
Made with AI assistance: Anthropic's Claude assisted with the reverse engineering and with rewriting and combining the existing code, directed and tested by the project's author (Tawhid); the translations are machine-made and marked as such. No AI-generated images are shipped (the button icons are CC0 packs, the menu wordmark was set in a free font). Details: docs/release/compliance_v1.0.0.md.
Expect bugs: v1.0.0 is the first public release. Every chapter plays from start to end, but not every mode, chapter and setting has been played through by a person. If something looks or plays wrong, please report it on this repository's Issues page (or tell the author directly), with
settings\hotd.logand a short note of what you did. Every report helps make it match the originals.
Quick start (players)
-
Download the release zip (
hotd-rewrithe-v1.0.0-win64.zip, GitHub Releases) and unzip it anywhere (not into Program Files). -
Put your own arcade ROM zip in
data\arcade. It must be a Revision A dump: MAME'shotdset (the original releasehotdo, prototypes and other revisions are not supported; the game checks every file). -
Put your own 1998 PC game (its installed folder, or a
.zipof it) indata\pc; the CD music (TrackNN.ogg) indata\music. -
Double-click
HOTDReWritheSetup.batonce: choose the files, then Play. The setup then makesThe House of the Dead ReWrithe.exein the same folder (with your PC game's icon): from then on start the game with that. The PC game's CD music is optional (the arcade's music is used). An unpatched 1998 PC copy is recommended; a patched THOTD.EXE (music / no-CD / Windows fixes) is accepted too. The mouse is the gun (left shoot, right reload). -
Something missing? The setup window says what and where it goes; details in
settings\hotd.log(a crash also leavessettings\crash-<date>.txt: attach both to a bug report, never game files). -
First start without the files: the setup window (laid out like the 1998 PC CD's Auto Run window but I might update it in the future for something modern) opens by itself; use Choose Zip... or Choose Folder... for the Arcade ROMs and the PC Game (any names), then Play. The check runs once; after that the game opens at the main menu (every setting is in Options; Options -> System -> Files Check brings the setup back).
System requirements (Windows): Windows 10 / 11, 64-bit; graphics with OpenGL 3.3, or else a DirectX 10.1-class GPU (Intel HD 2000 / 3000 and newer, Radeon HD 3000+, GeForce GT 200+): Options > Video > Renderer, Auto picks DirectX (ANGLE) by itself where OpenGL 3.3 is missing (docs/renderer_backends.md).
Linux / Steam Deck: the linux-x86_64.tar.gz works the same way (./hotd.sh). macOS: the macos-universal.zip
(unsigned, see the release notes). Online play step by step:
ONLINE HOWTO (also ONLINE HOWTO.txt in the package). Mods: docs/modding.md.
Details below: the menu, Boss Mode, PC Mode, the Gallery, the Jukebox, secrets, controllers and light guns, online co-op, mods, Sonic Mode, 4 players, game speed, the CRT filter.
Features
- Arcade mode, Chapters 1-4 and the ending, arcade (1996) or PC (1998) models. The whole game matches the arcade frame by frame in MAME replays of all four chapters (one and two players).
- PC Mode and Boss Mode on the 1998 PC's own rules and maths (characters, shared continues, boss clock, boss times tables); Chapter 1 PC Mode matches a 1998 PC recording to the end.
- Players' quick choice: after picking a mode, choose 1-4 players and Human / CPU for each; one press plays.
- 1-4 players on one PC (players 3 / 4 experimental), CPU teammates (Easy / Normal / Hard).
- Online co-op: a short join code, up to 4 PCs with 1 or 2 players each, Arcade, PC Mode or Boss Mode; both PCs must have the same game files (checked when you join). See docs/online_howto.md.
- Two menu styles: Remake (widescreen) or Classic PC (1998). Scroll bars on long lists, volume bars, Reset to Defaults on each Options tab.
- Screens: Widescreen 16:9, 16:10 or 4:3; fullscreen at any resolution; any frame rate.
- Arcade Sort: arcade models hide each other as the arcade board does (its own polygon sort, as MAME shows it).
PC models use a depth buffer, as the 1998 PC did; the cut-scene viewer's Free Cam is per pixel too. Advanced (no
menu row):
drawdepth=sort|bufferin launcher.ini or--draw-depth sort|buffer; mods pick their own (depth =in mod.ini, docs/modding.md). - Firing Range (Options > Video > Crosshairs): each player (P1-P4) picks a crosshair, colour, size and thickness and tries it on targets.
- Controllers: DualSense / DualShock / Xbox / Switch pads (gyro aim, the pad's own button names in the menus); light guns: gun type (IR / Sinden / CRT gun), Shot Flash, Gun Border, Assign (which gun is whose).
- Languages: English, plus Korean, Japanese, Arabic and Hebrew (right-to-left). The four are AI-translated and still need a check by a native speaker. Anyone can add a language (docs/translating.md).
- Mods: Options > Mods; the built-in Ragdoll mod; texture packs. Guide: docs/modding.md.
- Gallery (models in 3D) and cut-scene viewer: swap the actors, Free Cam, Clean View for recording.
- Cut-scenes in play: hold fire / start 3 seconds to skip (a ring fills), Esc / P / pad Start to pause.
- Jukebox, High Scores, Sonic Mode, CRT filter, Trailer Mode, the 1998 PC's cheat codes.
State
Version 1.0.0 (October 2026): the whole game, Chapters 1-4 and the ending, with every branch route,
arcade or PC models, local co-op, sound and music, the arcade's title / attract loop (with the 1998.12.18 prologue), name
entry and a top-10 ranking, widescreen 16:9 / 16:10 (or Original 4:3), 60 Hz logic on any monitor, a chapter select, a portable data folder (data\hotd.zip, data\pc found by the game itself, so Steam can start bin\hotd.exe directly; both games may stay zipped), and options for
music / effects volume, crosshair (auto / arcade style / PC / simple cross), auto reload and blood colour (red, green,
blue, purple, yellow, custom). Sonic Mode (the main menu's More Modes or Options -> Gameplay / sonicmode= / --sonic-mode): the play
runs faster (Frenzy x1.2, Overkill x1.5, Nightmare x1.5 with bosses x1.75 and the Magician x2) while cut-scenes, voice lines and menus stay
at the normal speed; every mode, local and online co-op (the host's choice); its own high scores per preset
(docs/teaser_status/fastmode.md). It is a work in progress. Large parts are not yet proven against
the original; routines without a capture proof are marked UNVERIFIED (teaser) in the source
(py tools/unverified_list.py lists them). See docs/teaser_plan.md and the per-area notes in
docs/teaser_status/, and the release notes for what
works and what does not.
Tested
What has been tried, as of 2026-10-27. Tested by the user = played by a person on real hardware. AI-tested = only automated checks (headless play-throughs, input tests, network tests on one PC, rendered pictures looked at), no person has tried it yet. Not tested yet = neither. A feature can sit in two columns (part of it tried).
| Feature | Tested by the user | AI-tested (automated tests, renders) | Not tested yet |
|---|---|---|---|
| Arcade mode, Chapter 1 to the ending | yes: start to finish on a Surface Pro 7 (2026-10-21, "very playable") | every build: Chapters 1-4 and the ending, arcade and PC models | |
| Arcade accuracy | the whole game replayed against MAME frame by frame: Chapters 1-4, the Magician and the ending, 1 and 2 players: 0 frames differ | ||
| Menus (Classic PC and Remake styles) | yes: both styles, the players' quick choice, smooth menus, dropdowns, Q / E tabs, F12 (2026-10-26) | page pictures, the input test walks them (keys, mouse, pad) | the 10-26 fixes: scroll bars, shorter resolution list, volume bars, Reset to Defaults, Live Background Off slideshow, blood RGB bars |
| Firing Range (Video > Crosshairs) | pictures, test shots, pad and keyboard aim in the input test | yes | |
Arcade Sort (advanced --draw-depth sort / buffer; no menu row since 10-27) | pictures compared with MAME snaps; 0 pixels differ after the speed-ups (6,924 frames) | ||
| DualSense | yes: the first aim feel ("extremely clunky", then reworked) | virtual pads in the input test (gyro, touchpad, rumble, LED, PlayStation prompts, menus by pad alone) | the reworked aim feel, the new prompts |
| 4 players (local, CPU teammates) | yes: played twice; 4P Enemy Toughness, P2 blue blood (2026-10-26) | balance runs, Chapters 1-4 with 4 seats | the P3 / P4 fixes (hit splash, join sound, cut-scene bodies), smarter CPU aim |
| PC Mode / Boss Mode (the 1998 PC's rules) | Chapter 1 PC Mode equal to a 1998 PC recording for all 17,289 frames; Chariot / Hangedman Boss Mode fights equal; THOTD.EXE routines checked (321, 0 differ) | yes | |
| Cut-scenes: hold to skip, pause | input test (held 2 s no skip, 3 s skip; pause / resume) | yes | |
| Gallery / Model Viewer / cut-scene actors | yes: first version (broken arcade models reported, fixed) | renders of every entry; every cut-scene with 1-4 players | the 10-26 / 10-27 fixes, actors, Free Cam on a pad |
| Surface touch / pen | a touch bug reported (edge = reload, 2026-10-22) | touch and pen in the input test, the edge fix | the pen, the fix on the tablet |
| Surface Pro 7 (integrated graphics) speed | menu felt laggy (2026-10-26) | menu and 3D timed on the RTX 5080 with the integrated-graphics path (Menu Frame Rate Auto 60, depth pre-pass) | the Surface itself |
| Online co-op on one network (LAN) | two to four game copies on one PC (hashes equal, desync / rejoin tests, menu pairs) | two real PCs | |
| Online co-op over the internet | the join code, UPnP dry-run, simulated lag / loss on one PC | real internet play | |
| Online PC Mode / Boss Mode, 1-2 seats per PC, same-files check | two to four copies on one PC: hashes equal, rejoin, the four "files differ" refusals | two real PCs | |
| Light guns (Sinden, Gun4IR, AimTrak ...) | absolute pointer devices simulated in the input test; Shot Flash frames, Gun Border pixels, Assign with two fed-in guns | any real light gun | |
| Other pads (Xbox, PS4 / PS3, Switch Pro, Joy-Con) | virtual pads in the input test | real pads | |
| 16:10 screens (1680 x 1050, 1920 x 1200, 2560 x 1600, Steam Deck 1280 x 800) | yes: the Aspect choice and its thin bars (2026-10-26) | renders of play, cut-scenes, chapter cards, the Remake menu, High Scores, Gallery; a hidden 16:10 window | a real 16:10 screen |
| Arcade score display (title code, Score Display) | MAME capture of the arcade code, renders | yes | |
| Crashes / hangs | soak: 340 headless runs of every mode, 0 crashes / hangs / soft-locks | ||
| Mesa software driver (strict OpenGL) | AI-tested (2026-10-29): Chapters 1-4, the ending, the attract and every menu page drawn on Mesa's llvmpipe and compared with the RTX 5080 (no differences beyond single edge pixels), OpenGL debug output clean, --gl-check in CI | ||
| Other graphics (AMD, Intel, integrated) | a friend's Radeon 610M laptop: flicker and a resolution-change crash (both fixed 10-27 / 10-28) | Mesa (above); Play (Safe Mode).bat | most AMD / Intel GPUs |
| Linux | builds and plays headless under WSL (Ubuntu) | a real Linux PC | |
| SteamOS / Steam Deck | the Linux package script; 1280 x 800 renders | the Deck itself | |
| macOS | a CI workflow (.github/workflows/release.yml) builds it; not run yet | yes: never built or run | |
| Languages (Korean, Japanese, Arabic, Hebrew) | yes: the samples looked right, Arabic / Hebrew right-to-left (2026-10-26) | full AI translations (every line), --lang-check: 0 texts too long | a native reader |
| Mods / Ragdoll mod | yes: Ragdoll on, the example mod stays off (2026-10-26) | headless runs, pictures, --mods-test | the new Mods page, Friction, walls |
| DirectX renderer (ANGLE, Video > Renderer) | NVIDIA only (RTX 5080): input test, Chapter 1 renders equal to OpenGL to rounding, the menu tour; Direct3D 10.1 and WARP simulated | any old PC; AMD / Intel graphics through it |
Roadmap
- Fullscreen (F11, any monitor) and widescreen 16:9
- Switch between arcade (1996) and PC (1998) models
- Chapter 1 teaser (ready for review)
- Online co-op (up to 4 PCs, 1 or 2 players each; Arcade, PC Mode, Boss Mode)
- 4-player mode, local and online (new: the original supports two players; experimental)
- Linux / Steam Deck build (tested in WSL; a package script, the same game results as Windows; docs/porting.md)
- Online cross-play: Windows and Linux PCs play together (one protocol, now protocol 19)
- macOS, Android, iOS (after the teaser: one SDL_GPU renderer; see ROADMAP.md)
What you need to play
You must supply your own, legally obtained copies:
- the arcade ROM set: Revision A only, MAME's
hotdset (the original release, prototypes and other revisions are not supported), as a zip or loose files; - the installed 1998 PC game: its folder, or a
.zipof that folder (no need to unpack it; the game may sit one folder down inside the zip). RAR / 7z archives are not read: convert them to a.zip(or unpack them).
The game checks both against the official releases and reads them without changing them. Nothing of the game is distributed here.
System requirements (also above): Windows 10 / 11 64-bit (or Linux / SteamOS / macOS 11+), OpenGL 3.3 (or DirectX
10.1 through ANGLE on Windows), integrated graphics included, 4 GB RAM, a 2-core CPU. Slow PCs: set
Options > Video > Live Background to Off. Trouble with the picture (black, flickering, very slow) or a crash at the
start or on a resolution change: start the game with Play (Safe Mode).bat (or hotd.exe --safe-mode): a 1280 x
720 window, no live attract behind the menu, the menus at 60 fps, no CRT filter, no texture packs. A setting you then
change in Options keeps these values; HOTDReWritheSetup.bat starts normally again.
Build and run
Windows 10 / 11, 64-bit, Visual Studio 2022 build tools, CMake, a GPU with OpenGL 3.3 (or DirectX 10.1 through ANGLE: its DLLs in private/downloads/angle or -DHOTD_ANGLE_DIR, docs/renderer_backends.md), Python 3 (tools only).
- Configure with CMake (
-DHOTD_FETCH_SDL3=ONdownloads SDL3;-DHOTD_FETCH_STB=ONor-DHOTD_STB_DIR=<folder>adds OGG music via stb_vorbis), then build thehotdtarget in Release. tools\make_portable_hotd.ps1builds and packs a self-contained folder (program only) withHOTDReWritheSetup.bat.- In the setup window choose your ROM files and your PC game folder or zip, then Play. Command line:
hotd.exe --arcade <zip or folder> --pc <folder or zip>. Portable copy: the game (also started frombin\hotd.exedirectly, e.g. by Steam) usesdata\arcade\*.zip(ordata\hotd.zip) anddata\pc(the unpacked game there or one folder down, elsedata\pc\*.zip).
Controls: mouse = light gun (left trigger, right reload; a shot off screen also reloads); player 2 = a second mouse or the
keyboard (arrows, Space, Enter); keys 1 / 2 = start / join; Esc / P pause (as the PC game:
Continue / Exit, Exit = back to the menu); F11 / Alt+Enter fullscreen (the game starts in borderless fullscreen; Options -> Video "Display Mode": Windowed / Borderless (the desktop's resolution) / Fullscreen (exclusive), applied at once, displaymode= in launcher.ini, --windowed; it opens the way you left it; Options -> Video "Resolution": the window's size, or in Fullscreen the display mode (Auto = the desktop's; a 10-second "Keep this resolution?"); resolution_fullscreen= / resolution_window= in launcher.ini); F12 screenshot. Gamepads and light guns: below.
Rebinding keys and buttons: Options -> Controls -> Keys & Buttons. Pick the player (1-4) on the top row. Page 1
is the keyboard (Aim Up / Down / Left / Right, Fire, Reload, Start, Pause; two keys each), page 2 the gamepad (Fire,
Reload, Start, Pause, Recentre, Gyro Hold, Precise Aim; any number of buttons, back paddles and the d-pad too). Click a
row (or move the hand there with the keys / pad and press Enter / Cross / A), then press the key or button: a new one is
added, one the row already has is taken off. Esc, a click or 5 seconds cancels. A key or button used for two things
shows "!" and the Status row names the other use. Reset Keys / Reset Pad / Reset Everyone go back to the
defaults (a pad's default is "Auto": the buttons of its control style). Esc always pauses and F1 / F3 / F9 / F11 / F12
cannot be bound. The default keys are the ones listed above (player 1: 1 start, P pause; player 2: arrows, Space /
Right Ctrl fire, Right Shift / Enter reload, 2 start; players 3 / 4: see 4 players). Kept in launcher.ini (key1.fire=,
padbind1.fire=, only the ones you changed); online co-op uses the same keys and buttons.
The menu
The game's menu is the 1998 PC version's own (its pictures, the bony-hand cursor, the font, the click and the menu music, read from your PC files), reorganised:
- Menu Style (Options > Video,
menustyle=in launcher.ini,--menu-style classic|remake): Remake (the default) or Classic PC (the 1998 PC menu, 4:3). Remake is a modern, widescreen menu laid out like The House of the Dead: Remake's (the logo at the top with the "ReWrithe" wordmark on it, the items on torn paper strips in a dark torn panel, settings as paper tabs with rows and bloody-handprint switches, key / pad prompts at the bottom right) drawn from your PC files' art and the game's own attract running live behind the menu (its 3D only, muted, grey and dark; without the arcade files: the mansion hall picture). Same items, settings and actions as Classic. Keys: Up / Down choose, Enter / A accept, Esc / B back, Left / Right change a setting, Q / E (or the shoulder buttons) change tabs; the mouse shows the bony hand. A short choice (Models, Aspect, Display, Sound, Blood Color, Difficulty ...) opens a small dropdown list on a click / Enter / A. The background starts on the story's desk / telephone shot (a still of it while the attract loads) and cross-fades between scenes. High Scores, Chapter Select,