# 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](#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/assets 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](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.log` and a short note of what > you did. Every report helps make it match the originals. ## Quick start (players) 1. Download the release zip (`hotd-rewrithe-v1.2.0-win64.zip`, GitHub Releases) and unzip it anywhere. 2. Double-click `HOTDReWritheSetup.bat`. The setup window opens: - **Install to**: the folder for the game (default `C:\Games\HOTD ReWrithe`; anywhere you like, but not Program Files). - **Game files**: drop your **Arcade ROMs** (MAME's `hotd` set, **Revision A** only) and your **1998 PC game** on the two boxes, as a zip, a folder or a CD image (`.iso`, `.bin` / `.cue`), or click a box to choose. Each is checked at once: green is good, yellow is accepted with a note, red says why not ("This is the Saturn version", "This is the PC demo", "SOUND\GAMESNDS.RBH is missing" ...). - **Options**: Desktop shortcut, Start menu entry (both on), Add to Steam, import the CD music (`TrackNN.ogg`). - **Install**: copies the game and only the files it needs (the 29 ROM files, the PC game's files, the music) into the folder, so your originals are not needed any more. Or **Play from here** without installing. - **Play**. From then on start the game with its shortcut; it opens at the main menu. 3. Uninstall: Windows Settings > Apps > Installed apps > The House of the Dead: ReWrithe (no administrator needed). It asks before deleting your settings and high scores. 4. Change the game files later: Options > System > Repair / Change Files. What changed in a version: Options > System > What's New (also shown once after an update). 5. Something missing? The Game files page says what and why; details in `settings\hotd.log` (a crash also leaves `settings\crash-.txt`: attach both to a bug report, never game files). Portable use still works: put the ROM zip in `data\arcade`, the PC game in `data\pc` and the music in `data\music` of the unzipped folder, and start `bin\hotd.exe`: with the files found it goes straight to the menu. (`HOTDReWritheSetup.bat` always opens the setup.) An **unpatched** 1998 PC copy is recommended; a patched THOTD.EXE or PC files of another version (the Japanese release, repacks) are accepted with a note. The mouse is the gun (left shoot, right reload). > **If your PC copy does not pass the check, try another one.** Copies of the 1998 PC game differ: the US and the > European releases work best (a CD image: choose its `.cue`). When the setup says a file is missing or damaged, that > file is missing or damaged in the copy itself, wherever it came from: it is not a problem of the setup or the game. > Keeping a second copy (US or European) at hand is recommended. 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](docs/renderer_backends.md)). Linux / Steam Deck: the `linux-x86_64.tar.gz` works the same way (`./hotd-setup.sh`). macOS: the `macos-universal.zip` (unsigned). Step by step for both: [Linux, Steam Deck and macOS](#linux-steam-deck-and-macos) just below. Online play step by step: [ONLINE HOWTO](docs/online_howto.md) (also `ONLINE HOWTO.txt` in the package). Mods: [docs/modding.md](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. ## Linux, Steam Deck and macOS You need the same two things as on Windows: your own arcade ROM zip (MAME's `hotd` set, Revision A) and your own 1998 PC game (its folder, a `.zip` of it or a CD image). No game data comes with the download. **Linux Mint, Ubuntu and other desktop Linux** (64-bit x86 with glibc 2.31 or newer and OpenGL 3.3: Linux Mint 20 / 21 / 22, Ubuntu 20.04 / 22.04 / 24.04 and newer, Debian 11+, current Fedora, Arch ...): 1. Download `hotd-rewrithe-v-linux-x86_64.tar.gz` from the GitHub Releases page. 2. Unpack it: right-click it in the file manager -> **Extract Here**, or in a terminal `tar -xzf hotd-rewrithe-v*-linux-x86_64.tar.gz`. You get a folder `HOTD ReWrithe Linux`. 3. Open the folder and start **`hotd-setup.sh`**: Linux Mint (Nemo) asks what to do, choose **Run**; Ubuntu (Files) needs a right-click -> **Run as a Program**. Or in a terminal: `cd "HOTD ReWrithe Linux" && ./hotd-setup.sh`. 4. The setup window is the same as on Windows: drop or pick your ROM zip and your PC game, then **Install** (a copy in `~/Games/HOTD ReWrithe` or a folder you choose, with a desktop icon and an applications menu entry under Games) or **Play from here**. Uninstall: `bin/hotd --uninstall` in the installed folder (your settings are kept). 5. Portable instead: put the files in `data/arcade`, `data/pc` and `data/music` of the folder and start `hotd.sh`. Nothing else needs installing (the game brings its own SDL; sound through PipeWire / PulseAudio / ALSA). On GNOME the desktop icon may first need a right-click -> **Allow Launching**. A `.7z` / `.rar` of the PC game needs `bsdtar` (`sudo apt install libarchive-tools`) or 7-Zip; a zip, a folder or a CD image need nothing. Linux does not update itself: the game tells you when a new version is out and opens the download page. **Steam Deck (SteamOS)**: 1. Switch to Desktop Mode (Steam button -> Power -> Switch to Desktop). 2. Download the Linux `.tar.gz` (as above) and extract it, e.g. into `~/Games`. Run `hotd-setup.sh` (Dolphin: click it, choose **Execute**) and Install, or put your files in the folder's `data/arcade`, `data/pc`, `data/music` (Game Mode has no file picker: the game finds them there by itself). 3. Add it to Steam: tick **Add to Steam** in the setup (Steam must be closed for that: right-click Steam in the task bar -> Exit first), or by hand: Steam -> Games -> **Add a Non-Steam Game to My Library** -> Browse -> set "File type" to **All files** -> pick `hotd.sh` (or `bin/hotd` of the installed copy) -> **Add Selected Programs**. 4. Back to Game Mode (the desktop's "Return to Gaming Mode" icon): the game is under Library -> **Non-Steam**. It runs fullscreen at 1280 x 800. Controls on the Deck: Steam gives the game an Xbox-style pad: a stick aims, **R2** shoots, **L2** reloads, **Start** (the menu button) pauses / joins, **A** / **B** confirm / go back in the menus and the setup. The touch screen is a light gun (tap = a shot where you touch; turn on Options -> Auto Reload, a touch cannot shoot off the screen). The trackpads move the mouse cursor. Gyro aim: pick a Steam Input layout that hands the gyro to the game as a motion sensor ("Gamepad with Gyro"), then a gyro aim style on the pad's page in Options -> Controls (not tried on a Deck yet). **macOS** (11 Big Sur or newer, Apple Silicon and Intel): 1. Download `hotd-rewrithe-v-macos-universal.zip` and unzip it (double-click). Move the `HOTD ReWrithe macOS` folder where you want it; keep it together. 2. The download is not signed by Apple, so clear its download flag once: open Terminal, type `xattr -dr com.apple.quarantine ` (with the space at the end), drag the `HOTD ReWrithe macOS` folder into the window, press Return. 3. Right-click (Control-click) **HOTD ReWrithe.app** -> **Open** -> **Open**. On macOS 15 Sequoia and newer: double-click it, then System Settings -> Privacy & Security -> **Open Anyway**. After that a double-click starts it. 4. Your files go in `data/arcade`, `data/pc`, `data/music`, or double-click `hotd-setup.command` to check and copy them in. (`HOW TO OPEN.txt` in the folder repeats these steps.) macOS is the least tested system: please report what works and what does not (Issues, with `settings/hotd.log`). ## 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](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|buffer` in launcher.ini or `--draw-depth sort|buffer`; mods pick their own (`depth =` in mod.ini, [docs/modding.md](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](docs/translating.md)). - **Mods**: Options > Mods; the built-in Ragdoll mod; texture packs. Guide: [docs/modding.md](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](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](docs/teaser_plan.md) and the per-area notes in [docs/teaser_status/](docs/teaser_status/), and the [release notes](docs/release/notes_v1.0.0.md) 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 - [x] Fullscreen (F11, any monitor) and widescreen 16:9 - [x] Switch between arcade (1996) and PC (1998) models - [x] Chapter 1 teaser (ready for review) - [x] Online co-op (up to 4 PCs, 1 or 2 players each; Arcade, PC Mode, Boss Mode) - [x] 4-player mode, local and online (new: the original supports two players; experimental) - [x] Linux / Steam Deck build (tested in WSL; a package script, the same game results as Windows; docs/porting.md) - [x] 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 `hotd` set (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 `.zip` of 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=ON` downloads SDL3; `-DHOTD_FETCH_STB=ON` or `-DHOTD_STB_DIR=` adds OGG music via stb_vorbis), then build the `hotd` target in Release. - `tools\make_portable_hotd.ps1` builds and packs a self-contained folder (program only) with `HOTDReWritheSetup.bat`. - In the setup window choose your ROM files and your PC game folder or zip, then Play. Command line: `hotd.exe --arcade --pc `. Portable copy: the game (also started from `bin\hotd.exe` directly, e.g. by Steam) uses `data\arcade\*.zip` (or `data\hotd.zip`) and `data\pc` (the unpacked game there or one folder down, else `data\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, Jukebox and PC Mode have Remake layouts too; the Gallery has its own Resident Evil-like page in this style (see Gallery). Details: docs/menu_remake.md. - **Display** (Options > Video, `display=` in launcher.ini): the monitor the game shows on; applied at once, used at the next start (missing: the primary monitor). - **Start-up**: with the game files known the game goes straight to the SEGA logo and the menu (no setup page); only when the files are missing or wrong a short "Find your game files" page asks for them. - **Main menu** (menu2: grouped): Arcade (the whole game from Chapter 1), PC Mode, Boss Mode, **More Modes** (Chapter Select: the four chapters with the PC's boss portraits, the ending after Chapter 4; Co-op: Local 2 Players, Local 4 Players, Online Co-op, computer teammates; Sonic Mode: click for the next preset), **Extras** (Gallery, Jukebox), High Scores (the arrows turn the tables: arcade, each Sonic Mode preset, the same for 4 players), Options, Quit (it asks "Are you sure?"; Esc / a pad's B there is No). - **Players' quick choice**: Arcade, Chapter Select (after the chapter), Boss Mode (after the boss) and PC Mode ask "Players 1 2 3 4" with Human / CPU for each extra player; the last choice is remembered and Start is already selected, so one press (Enter / A / a click) plays. Keys 1-4, Q / E or a pad's LB / RB change the count; Esc / B goes back. 3-4 players are the experimental 4 players mode. Online games skip it. - **On every page**: a help line for the item under the hand and, at the very bottom, the controls (mouse / arrows / pad to point; click / Enter / A to choose; Esc / B to go back). On the settings pages the whole row is the button; a grey row says why it does nothing right now (e.g. Vsync while the frame rate is Unlimited); a row ending in ">" opens another page. Experimental features carry a small **EXPERIMENTAL** tag: 4 players, light guns, custom blood (and online with 3-4 PCs). - **Options**: the PC's Options screen (difficulty, lives, continues, auto reload, blood colour, volume sliders, resolution; Lives and Auto Reload are one setting for every player, players 3 / 4 too; Controller Config opens Controls), and a strip of tabs, one page each: **Video** (models, aspect, menu style, Live Background, fullscreen, resolution (the desktop's shape first; Show All for the rest), frame rate, menu frame rate, vsync, smooth motion, CRT filter, **Crosshairs >** the Firing Range), **Audio** (sound source, effects and music volume bars, music, menu music), **Controls** (each player's input, Keys & Buttons, the controller pages, Light Guns (Assign), light gun type, Shot Flash, Gun Border, calibration), **Gameplay** (blood color incl. custom Red / Green / Blue bars, auto reload, **Free Play** (PC Mode's continues never run out; arcade games are always free play), Score Display, Sonic Mode, title / attract, FBI screen, **PC Start-up Screens** (the 1998 PC's SEGA screen and zombie title art at start-up; off by default); **Advanced**: game speed, music numbering, Trailer Mode, the 4P boss hit points and enemy toughness, guards), **Mods** (each mod On / Off, its Settings page) and **System** (Language, Repair / Change Files (the setup window), Check for Updates, What's New, desktop shortcut, Add to Steam). Most tabs end with **Reset to Defaults** (it asks first). Long lists show a scroll bar. **Live Background** Off shows the attract's scenes as stills in turn. **Boss Mode** (the PC port's): pick the Chariot, the Hangedman, the Hermit, the Magician or All Bosses (the four in a row, the clock kept). It follows the 1998 PC's own Boss Mode: the game opens straight on the boss's title card (no walk to the boss), the clock (minutes, seconds, hundredths) runs from the title card's end, stops on the boss's death and in the pause; there are no continues and nobody joins during a fight. A new best time asks for your name on the PC's own name-entry screen (a letter grid you can click, aim at or move with the pad, or type on the keyboard) and goes into the best-times tables (High Scores: the page arrows reach the five boss tables after PC Mode's). Boss Mode runs on the PC's maths too (the Chariot and Hangedman fights match a 1998 PC recording). Online too: see Online co-op. **PC Mode** (the PC port's): each player first picks a character, as on the PC: Rogan, G, Rogan 2, G 2, Sophie or the Researcher, each with its own hit points, rounds per magazine, bullet damage, reload time and hit size. With Players 3 or 4 (the 4-player mode) the screen shows four panels (P1 red, P2 blue, P3 green, P4 yellow): each player picks with their own controls (the mouse, their keyboard keys: arrows left / right pick, fire or start = Ready, reload takes Ready back; or their gamepad: d-pad / stick, South / Start = Ready, East takes it back), and the game starts when everyone who plays is Ready (computer teammates get a random character). The game then follows the PC's rules (who gets the kill credit, the life gift, no shot flash, the PC's auto reload, shots that pass scenery, the bleeding cap). **Continues** (Options, 0 to 9, default 5) is the PC's shared credit pool: every start and continue takes one from it (players 3 / 4 too). PC Mode keeps its own ranking and never uses the Sonic Mode speeds. PC Mode runs the 1998 PC's own maths and rules (the bosses, the camera, the creatures' bodies): Chapter 1 matches a recording of the 1998 PC to the last frame. With the PC game folder set it also reads the PC's camera paths and motion table from it. Online too: see Online co-op. Not done yet: the PC's own drawing of some effects, the characters' bodies in the endings (see [docs/pcmode.md](docs/pcmode.md)). **Gallery**: the game's models in 3D, in categories down the left: **Players, Humans, Creatures, Bosses, Items** (the golden frog, the life item, the gold coin, props worth a look with their damage steps), **Cut Content** (creatures and a Hermit head in the arcade data the game never uses; most have no textures there, so they are shown untextured) and **Cut-scenes**. 65 entries, arcade or PC models, their motions; an info panel per entry (official name, where it appears, hit points where the data says, a short line); backgrounds: dark (softly lit, a floor shadow), two rooms of the game's world (the Chapter 1 bridge, a Chapter 2 mansion corridor), the game's own skies (Chapters 1, 2, 4), grey, blue, white. It opens on Thomas Rogan (Players). The motion and the slow turn are off at first. Keys: Q / E entry, Tab / Shift+Tab (or 1-6) category, drag or arrows turn, right / middle drag or Shift+arrows pan, wheel or + / - zoom, Space play / hold the motion, M next motion, **T hide the page** (full screen; T / Esc back), I info panel, O slow turn, L light, R / Home reset, S arcade / PC, B background, K layout, C cut-scenes, Esc back. **Blood** (the Gallery's own settings, taken from Options and Mods each time it opens and never saved: the game keeps its own): G / Shift+G Blood Color (Red, Green, Blue, Purple, Yellow, Custom with its red / green / blue; the arcade has no yellow, so its models take the custom recolour in yellow), N Rainbow Blood (its Colours, Speed and Creature Blood on the Remake page), J Blood Particles (a hit's blood burst on a part given a damage step, the drips from a cut part). **Damage** (the game's own damage and part-loss models, from its tables: the models a shot part takes, the damage routines that cut off the head and arms, the head's blow-off step): per body part (Head, Right Arm, Left Arm, Body, Legs) Whole, Damage 1, 2 ... and Off where the game can shoot it away; Z the part, X its next state (Shift+X back), Shift+Z all whole. A body step the game ties to a part loss takes those parts with it (the zombies' last chest damage: the head and both arms). Entries without damage models (the players, the people, the bosses, Baba) say so. Pad: LB / RB entry, L3 category, right stick turn, left stick pan, LT / RT zoom, X play / hold, Y next motion, View background, Start hide the page, R3 reset, B back. In the **Remake menu style** the Gallery is laid out like the Resident Evil 2 / 3 / 4 remakes' galleries (layout and feel only, drawn by this project): the model large on a dark, softly lit stage with a faint floor reflection, the categories and the entries' list in a slim column on the left, the entry's "file" on the right (the name in large caps, a red rule, its category, the description, Appears / Type / Hit points rows, the boss's weak-point card, the settings in three panels, H or a click on their names between them: **Viewer** (Motion, Model, Light, Background, Layout), **Blood** (Blood Color, Custom Red / Green / Blue, Rainbow Blood, Rainbow Colours, Rainbow Speed, Creature Blood, Blood Particles) and **Damage** (each body part's state, All Parts) - click a row to change it), the controls as key caps along the bottom (click Light, Play, Next Motion, Hide UI, Background, Back). A new entry fades and slides in. Its Cut-scenes page uses the same look. **Layout** (K): in the Remake style Remake (default) -> portraits -> the Classic page; in the Classic style Classic (default) or **portraits** (after The House of the Dead: Remake's gallery: a grid of portraits on the left, the name in red, the description, the boss's weak-point card and the controls on the right; Q / E category, W A S D or d-pad move in the grid, Tab more text). **Cut-scenes** (the last category, or key C): the players' cut-scenes (15, by chapter), played by the game's own scene code with 1-4 players and arcade or PC models. Play runs the game ahead to the scene without picture or sound (under a second), then shows it; Replay starts at once. Watching: Space pause, R replay, S slow motion (half speed), F **Free Cam** (W A S D Q E move, right-drag look, the wheel zooms), C Clean View, T subtitles, A **Actors**, Esc back (pad: A / Cross pause, X replay, Y slow, L3 Free Cam, R1 Clean View, d-pad down subtitles, L1 Actors, B back; left click pauses, right click replays). **Actors** (also rows on the Cut-scenes page): who plays Rogan's, G's, Player 3's and Player 4's part: Rogan, G, Player 3, Player 4, Sophie, the ten researchers, Dr. Curien, zombie Sophie (picks kept in launcher.ini). Command line: `--scene-view 2:12` (chapter:scene; with `--players`, `--models`). **Cut-scenes in play**: hold the trigger / fire / start (or a pad's fire button) for 3 seconds to skip one: a ring fills in the bottom bar. Esc / P / a pad's Start pauses a cut-scene. Both offline only (online, the host's trigger skips where the arcade allows). **Record-friendly (clips of the cut-scenes):** "Clean View" on the Cut-scenes page (On by default; key C, also while watching) shows only the picture: no HUD, lamps, prompts, crosshairs or mouse cursor. The keys' line shows small at the bottom for 2 s, then fades; any key brings it back for a moment. The end shows nothing until you press a key (then "Over. R replay Esc back"). The scene's music starts with it (the fast-forward is silent). For a clip: `hotd --scene-view 2:12 --players 4 --models arcade` (or `--models pc`), in borderless fullscreen (the default; F11 / Alt+Enter toggles). Start recording, press R to play it from the start, stop after it ends; Space pauses on a frame. "Subtitles: On / Off" next to it (key T while watching) hides the cut-scenes' captions; Clean View On + Subtitles Off is only the picture (command line: `--scene-no-subtitles`). **Trailer Mode (recording gameplay):** Options > Gameplay > Advanced > Trailer Mode, or **F7** in the game (a 1 s note says On / Off; F7 lasts for that run only, Options keeps it). While on, the game shows only the picture: no lamps, score, ammo, prompts, players 3 / 4's bands, online info, crosshairs, mouse cursor or subtitles. You still aim and shoot as usual (the game plays the same; only the drawing changes). Off by default. Command line: `--trailer`. **Jukebox** (main menu, under Gallery): listen to anything the game plays. Three lists: **Music** (each song named by where the game plays it: Title and attract, Chapter 1-4, Boss: Chariot / Hanged Man / Hermit, Boss: Magician, Game over, Chapter clear, Ending and credits, Name entry, Menu), **Sound Effects** and **Voices**. **Sound** (top right, or Tab) switches the source: **Arcade** sends the game's own sound commands to the arcade sound board (your ROM set's sound program and samples), **PC** plays the 1998 PC release's music files (Music\TrackNN; the info line also gives the Saturn disc's number) and its sound files. Play, Stop, Prev / Next, Play once / Loop one / Loop all / Shuffle, the game's Music and Effects volumes (- / +, saved as in Options), a time and a progress bar where the length is known (the PC's music: click the bar to jump). The menu music stops while you are on the page and comes back on Exit. Keys: Up / Down choose, Left / Right the list, Enter play, Space play / stop, S stop, N / P next / previous, L the mode, Tab the source, + / - volume, Page Up / Down, the mouse wheel; pad: d-pad, South play, West stop, North the mode, shoulders previous / next, a stick click the source, East back. The line at the bottom explains the item under the hand. Mouse, keyboard (the arrows move the hand, Enter / Space click, Esc back), a gamepad (d-pad / stick, South / Start, East / Back) and a light gun's pointer all work. The whole 640 x 480 picture always fits the window (side or top / bottom bars). Every setting is still in `launcher.ini` and the setup window (Options -> System -> Repair / Change Files) picks the game files. ### Secrets The 1998 PC version's hidden codes work here too (found with a tip from RUNESA, thank you). On the menu, hold **Ctrl** and type **SKIDMARX**: Cheat and Edit Char Stats appear under Quit (Cheat: start at any stage and scene, Free-Play); in play, with the code on, **Ctrl + 1 / Ctrl + 2** give player 1 / 2 infinite ammo and lives. Then hold **Ctrl** and type **CREATURE**: Creature Test appears too (the PC's creature list; View in Gallery shows it in 3D). Type a code again to switch it off; nothing is saved. Details: [docs/teaser_status/pc_cheats.md](docs/teaser_status/pc_cheats.md). **The arcade's score display** (Model 2, tip also by RUNESA): at the title screen (Title / Attract on), pull the **left gun's trigger 3 times**, then the **right gun's twice** (player 1 / player 2: the mouse and player 2's trigger key work too), then press Start. In play a **SCORE:00000** line shows each player's score at the top, as on the cabinet. The title also knows the cabinet's other trigger codes (LLRLL, RRLRR, LRLRLR, LRLLRR, RLRRLL, LRRLLR: they swap the players' bodies in the cut-scenes). Without the code: Options -> Gameplay -> **Score Display** (offline games). Found in the arcade program (title_code_screen 0xD2C0) and checked in MAME ([docs/decompilation.md](docs/decompilation.md), "Title trigger codes"). Thanks to **RUNESA** for both tips (YouTube comments, 2026-10-20 and 2026-10-26). ## Controllers and light guns Options -> Controls -> **Player 1 Input** (Mouse / Gamepad / Light Gun) and **Player 2 Input** (Mouse 2 / Keyboard / Gamepad / Light Gun); launcher.ini `p1input=` / `p2input=` (0 mouse, 1 keyboard, 2 gamepad, 3 light gun); command line `--p1-input mouse|pad|gun`, `--p2-input mouse|keyboard|pad|gun`. Mixed is fine (player 1 on the mouse, player 2 on a pad; two pads; a pad and a gun). Player 2's keyboard keys keep working in every case. Every button below can be changed per player on Options -> Controls -> **Keys & Buttons** (see Controls above). **Gamepads** (anything SDL3 knows: DualSense, DualShock 4, DualShock 3 with its driver, Xbox One / Series, Switch Pro, Joy-Con pairs and singles, most others). Each player gets the first pad connected that nobody else has; unplug a pad in play and the game pauses with a message for that player until a pad is connected again. **Controller: Player 1 / 2** (Options -> Controls -> Controller: Player N) picks the player's **control style**; every style keeps its own settings (sensitivity, vertical sensitivity, invert, sticks, dead zone, curve, gyro smoothing / space, shoot button, touchpad). For a gun-like grip, a Switch controller (a Joy-Con) works better than a big pad held sideways: | Style | Held | Aim | Notes | |---|---|---|---| | Classic Pad | normally | a stick (left, or right: "Sticks: Swapped"); the other stick fine-adjusts | Stick Curve Medium (precise centre, fast edge), 8 % dead zone, full speed from 92 %, Edge Turbo (held at full tilt: up to 1.5x), no smoothing | | Motion Only | normally | the gyro, like a pointer (turn = left / right, raise = up) | the sticks do not aim | | Motion + Stick | normally | the gyro; the right stick (or left) fine-adjusts | the default for DualSense / DualShock 4 / Switch pads | | Touchpad | normally | the touchpad: Pointer (the touch's point is the crosshair's, like a light gun) or Trackpad (relative) | DualSense / DualShock 4 | Style **Auto**: DualSense / DualShock 4 / Switch pads with a gyro = Motion + Stick, the others = Classic. The touchpad also adds to the other styles (its own setting there: Off / Pointer / Trackpad; Auto = trackpad on a DualSense / DualShock 4); its click and a tap = reload or shoot (Touchpad Click). Gyro Space **World** uses the accelerometer's gravity so that up stays up when the pad is tilted or rolled; **Local** uses the pad's own axes as held when you last recentred; **Player** (the default) is Gyro Wiki's player space: turning or rolling the wrist turns the crosshair, raising the front aims up. **Sensitivity** is physical: at 5 (1.0x) a 36 degree turn of the pad crosses the screen's width (0.5x .. 2.5x). Gyro Smoothing (default Low) smooths only motion slower than 3 / 6 / 10 degrees/s (faster motion is 1:1, nothing is lost); Gyro Tightening and Gyro Acceleration are off by default. Gyro drift is learnt while the pad lies still; **Aim Test** (on the Controller page) shows the live gyro rate, stick deflection and crosshair speed and has **Calibrate Gyro** (hold the pad still 2 s). **Feel Preset**: Precise / Balanced (the defaults) / Fast. **Shake to Reload** (gyro styles, default Medium): a quick flick of the wrist (a roll or a tilt) or a quick jerk of the pad (up / down, side to side, forward / back; also with the pad on your lap) reloads, then 0.4 s until the next one; the crosshair does not move meanwhile; slow aim sweeps, a shaky hand and rumble never count. Low needs a hard shake, High the lightest flick. Buttons: R2 (fires at a light press: Trigger Point, default 15 %) / R1 / South (A, Cross) = trigger; L2 / L1 / East / West = reload; a trigger pulled with the crosshair pushed off the window (gyro) = the off-screen reload, and the crosshair comes back to the middle. North (Y, Triangle): **hold** = ratchet (the crosshair stays while you turn the pad back), **tap** = recentre (and calibrate: point at the screen's centre as you hold the pad, tap); right stick click = recentre; left stick click held = precise aim (35 %). Start = start / join / continue, in play = pause; Back / Share / Minus = pause. In the pause: d-pad up / down, South or the trigger chooses, Start / East closes. In the menus: d-pad / stick = arrows, South / Start = Enter, East / Back = Esc, L1 / R1 = the tabs, Left / Right change a value (the volume and colour bars step and stop at their ends); the prompts at the bottom show the buttons of the pad used last (Xbox A / B / LB, PlayStation's shapes and L1 / R1, Nintendo B / A / L). The Firing Range (Video -> Crosshairs): each pad player aims and shoots with their pad, d-pad / A / B still work the page; **Tab** lets the keyboard players aim there with their keys (Tab or Esc gives the keys back to the menu). The cut-scene viewer: South pause, West replay, North slow, L1 Actors, R1 Clean View, d-pad down subtitles, East back. Feedback (per player): vibration when hit, when your shot hits an enemy and on a reload (each Off / Light / Medium / Strong); the light bar in the player's colour (P1 red, P2 blue); the DualSense's adaptive right trigger with a gun's resistance that gives way with a click (Adaptive Trigger Off / Light / Medium / Strong). Command line: `--p1-style / --p2-style auto|classic|motion|mix|touch`; launcher.ini `pad1.style=`, `pad1.