Releases: sergiomanzur/regaiden-recomp
Release list
v0.3.1 - Asset Packs Now Work on Android + Modding Guide
Same engine as v0.3.0, rebuilt to include an Android fix that landed just after those binaries were built.
If you are on Android, use this release — asset packs do not work in the v0.3.0 APK.
Downloads
| Windows | Resident_Evil_Gaiden_Recomp_v0.3.1_Windows.zip — unzip and run |
| Android (ARM64) | Resident_Evil_Gaiden_Recomp_v0.3.1_Android.apk — sideload |
No ROM is included. Supply your own Resident Evil Gaiden (USA).gbc.
Fixed: asset packs did not work on Android
hd_pack/ and music_pack/ resolved a bare relative path against the process working directory. On Android that is neither writable nor reachable with a file manager, so both packs were silently dead — the folders were never created and any files you placed manually were never found.
They now resolve into external app storage, which a file manager, USB transfer or adb push can all reach:
/sdcard/Android/data/com.capcom.regaiden/files/hd_pack/
/sdcard/Android/data/com.capcom.regaiden/files/music_pack/
Run the game once to create the folders, drop your files in, then restart or use Reload HD Textures / Reload Music Pack in the menu. Desktop behaviour is unchanged — the packs still sit next to the executable.
New documentation
The README now has a Making Your Own Asset Packs guide covering both packs: folder layout, formats, sizing, how filename matching works, hot-reload, how to find a track id in-game, and three ways to get files onto an Android device.
On the bundled
hd_pack/: it is AI slop — machine-generated placeholder art shipped purely to prove the engine works. It does not match the game's aesthetic and was never meant to be the finished look. Please replace it. If you make something good, open a PR or an issue and it can be linked for everyone.
The Windows and Android packages now also ship an empty music_pack/ containing a README, so the feature is discoverable rather than hidden.
Corrected controls documentation
The README control tables did not match the actual default bindings:
- Quick Load is
F8, notF7(F7is next save slot) - The settings menu is
F10;F1is the performance overlay - The
A/Bsecondary keys were swapped —AisZ/J,BisX/K - Select's secondary is Right Shift, not Tab; Start has no secondary
- Fast Forward is Tab, not Space
- On a gamepad the face buttons follow the Nintendo layout, so Game Boy
Ais the XboxBbutton, and Quick Save/Load areX/Yrather than the bumpers
Previously undocumented keys are listed too: F4 capture state snapshot, M mute, ` toggle max speed, F6/F7 save slots.
Everything from v0.3.0 is included — the flashlight fix (#1), the item pickup and cutscene flicker fix (#2), native-first defaults, and the replacement soundtrack. See the v0.3.0 notes and CHANGELOG.md for the full detail.
v0.3.0 - Flashlight & Rendering Fixes, Native Defaults, Music Pack
Superseded by v0.3.1
Android users should use v0.3.1. In this build
hd_pack/andmusic_pack/resolve to a
path Android cannot reach, so asset packs do not work at all. Fixed in v0.3.1, which is
otherwise the same engine. The Windows build here is fine, but v0.3.1 also ships a
music_pack/starter folder and corrected controls documentation.
Fixes both reported issues, makes the first run look like unmodified hardware, and adds a replacement soundtrack.
Downloads
| Windows | Resident_Evil_Gaiden_Recomp_v0.3.0_Windows.zip — unzip and run |
| Android (ARM64) | Resident_Evil_Gaiden_Recomp_v0.3.0_Android.apk — sideload |
No ROM is included. Supply your own Resident Evil Gaiden (USA).gbc.
Fixed: the flashlight did nothing (#1)
Two separate bugs, and neither was Windows- or Nvidia-specific — it was broken for everyone.
The light cone lookup table is stored with a fixed 336-pixel stride but was walked linearly against the framebuffer, so it only lined up at 21:9. At the shipped default of 16:9, and in native 10:9, the cone was sampled from the wrong coordinates and all you saw was flat ambient darkening. On top of that, flashlight_intensity is a 0–100 percentage but was fed into the blend as a 0–256 fraction, capping the beam at about a third of its intended brightness.
Measured against the old code (cone centre vs corner brightness):
160x144: centre= 63 corner= 63 <- no cone at all
256x144: centre= 63 corner= 63 <- the default; no cone at all
336x144: centre=113 corner= 63 <- present but far too dim
All three now read centre=191 corner=63.
Fixed: flickering item pickups and cutscene faces (#2)
The widescreen renderer re-rendered all 144 scanlines from a single end-of-frame snapshot of VRAM, OAM and the LCD registers, discarding the dot-accurate per-scanline output the PPU had already produced. Anything the game changes part-way through a frame — HBlank HDMA tile streaming on the item viewer, window and palette raster work behind talking-head portraits — was drawn from state that never existed at draw time.
The native viewport now comes verbatim from the PPU; only the newly revealed side columns are re-rendered. Effect composition also happens once per guest frame instead of on every host present, which additionally stops the HD portrait flickering and the film grain reseeding.
Widescreen sides no longer show tile garbage. A Game Boy tilemap is 32 columns wide but only 20 are ever displayed, so on a UI screen the other 12 still hold whatever room you were standing in — the stray font tiles down both sides of the item screen. Those columns are painted black rather than filled with stale data.
Native-first defaults
The game now boots looking like an unmodified Game Boy Color. Widescreen, the flashlight, vignette, film grain, scanlines, the CRT mask, the colour grading and the HD texture pack are all off by default and opt-in from the in-game menu (F10).
Releases also stopped shipping developer settings. The packaged config.ini was a copy of the maintainer's live settings file, which the running game rewrites — so previous releases went out with widescreen forced on, every shader enabled, and the Infinite Health cheat switched on.
New: replacement soundtrack
Drop your own .ogg or .wav files into music_pack/ named track_<id> and they replace the in-game music. Tracks follow the game automatically — the right music plays in the right place, and any id you have not supplied keeps the original music. The in-game menu shows the id currently playing so you can name your files as you go.
Game Boy music and sound effects share the same four channels, so the original audio is ducked rather than muted (default 25%, adjustable) — gunshots, doors and menu blips still come through under your music.
No music is bundled. Like the ROM, the files are yours to supply.
Android fixes
- The release build was broken. All ten launcher icons were JPEG data with a
.pngextension, which AAPT2 rejects — the APK could not be built at all. - Settings now persist.
config.iniwas read from and written to the process working directory, which is not writable on Android, so every launch silently fell back to defaults. versionCode/versionNamewere stale at 0.2.0 while releases shipped as 0.2.1.
Under the hood
Every piece of game-state detection previously keyed off $C800/$C900. Those are not game state — the only ROM code touching them is a save/restore memcpy, and they read as all zeroes even during gameplay. Detection is now based on values measured from the running game: 75/75 snapshots while walking read one WRAM bank, every menu and both intro cutscenes read another, and the sound driver's current-song byte was located at $CE8C and validated across 168 samples.
Also fixed: speed_percent in config.ini was parsed and saved but never actually applied.
Full details in CHANGELOG.md.
Resident Evil Gaiden Recompiled v0.2.0 (Windows & Android)
Resident Evil Gaiden Recompiled - Release v0.2.0
🎮 Native Android & Handheld Gaming Support (ARM64-v8a)
- Direct Native Execution: Compiled with Android NDK (r26d), Clang 17, SDL2, OpenGL ES 3, and Dear ImGui running locked at 60 FPS on ARM64-v8a.
- On-Screen Touch Controller Overlay: Full touch D-Pad, action buttons (A/B), Start/Select, haptic vibration, and quick toggle icon.
- Orientation & Display Modes: Adaptive Portrait and Landscape layouts with in-game Screen Orientation Lock (Auto, Force Landscape, Force Portrait).
- Touch-Friendly In-Game Settings UI: Pinned headers/footers, enlarged touch scrollbars (28px), and physical controller stick/dpad scrolling.
- 100% Clean Legal Distribution & First-Run ROM Onboarding: Zero copyrighted ROM assets in APK; automatic discovery across
/sdcard/ROMs/GBC/and/sdcard/Download/, plus Storage Access Framework (ACTION_OPEN_DOCUMENT) file picker with SHA-256 validation. - Verified on Retroid Pocket 6 and modern Android smartphones & handhelds.
🖥️ Windows Port Enhancements
- Embedded Application Icon: Integrated 256x256
.icobinary PE resource for Windows Explorer, window titlebar, and taskbar. - Static C/C++ CRT Linkage: Fully eliminated external MSVC runtime dependencies (
MSVCP140D.dll/VCRUNTIME140D.dll). - Unified Multi-Platform Release Packager: PowerShell build script for automated artifact generation.
📦 Release Assets
Resident_Evil_Gaiden_Recomp_v0.2.0_Windows.zip(Self-contained Windows 64-bit release)Resident_Evil_Gaiden_Recomp_v0.2.0_Android.apk(Android ARM64-v8a installable package)Resident_Evil_Gaiden_Recomp_v0.2.0_Android.zip(Android package bundle)
Resident Evil Gaiden Recompiled v0.1b (Windows Beta)
Resident Evil Gaiden Recompiled v0.1b (Windows Beta)
?? Hotfix Update (2026-08-25)
- Resolved Missing CRT Runtime Errors: Rebuilt the Windows release with static C/C++ runtime linkage (/MT).
- Completely fixes missing MSVCP140D.dll, VCRUNTIME140D.dll, VCRUNTIME140_1D.dll, and ucrtbased.dll dialog errors on clean Windows PCs.
- No external Visual C++ Redistributable packages are needed.
- Bundled SDL2: Ensured SDL2.dll is bundled directly alongside the executable in the zip archive.
Key Features
- Native C/C++ Recompilation: Direct hardware execution with rock-solid 60 FPS.
- True Widescreen (16:9 - 256x144) and True Ultrawide (21:9 - 336x144) viewport expansion engine.
- Dynamic 2D Flashlight Lighting with real-time directional player tracking, ambient darkness, and halogen flicker.
- Atmospheric Horror Shaders: Vignette, film grain, CRT scanlines, phosphor mask, and 5 color grading profiles.
- HD Texture Pack Engine: Host-resolution hardware accelerated PNG replacement for battle backgrounds, monsters, and dialogue portraits.
- Built-in Cheats & GameShark Engine with 10-slot savestate manager.
- Modern Gamepad Support: XInput, PlayStation, and USB controller mapping.
Linux and Android releases are in active preparation.