github fliperama86/cvlod_recomp v0.1.6

latest releases: v0.2.26, v0.2.25, v0.2.24...
2 months ago

Castlevania: Legacy of Darkness recompilation WIP — v0.1.6

This WIP pre-release packages the macOS Apple Silicon build as an ad-hoc signed .app bundle, and adds a first experimental Windows x64 build.

macOS app asset

Download and extract LodRecomp-v0.1.6-macos-arm64.zip, then place your legally dumped stock Castlevania: Legacy of Darkness ROM beside the app as rom.z64:

LodRecomp.app
rom.z64

No ROM preparation script is needed. The app prepares the required runtime NI overlay data in memory from the stock ROM on startup.

Run by double-clicking LodRecomp.app, or from Terminal:

brew install sdl2 freetype   # if needed
open ./LodRecomp.app

If macOS blocks first launch, open System Settings → Privacy & Security, choose Open Anyway, then confirm Open.

If macOS launches the app through App Translocation and hides the adjacent rom.z64, the app will ask you to select your stock LoD ROM once and remember that path for future launches.

Windows build asset (experimental)

Download and extract LodRecomp-v0.1.6-windows-x64.zip (keep all DLLs next to the exe), place your legally dumped stock Castlevania: Legacy of Darkness ROM in the same folder as rom.z64, and run LodRecomp.exe. If no ROM is found, the app asks you to select one and remembers the path.

LodRecomp.exe + DLLs
rom.z64

The binary is not yet code-signed, so the first launch may show a SmartScreen "Windows protected your PC" prompt — click More info → Run anyway. Verify your download first:

SHA256: 0f1557b060779737ae4e4d2a5087043a4f530dc8f0a44e1f6249b056be8da417  LodRecomp-v0.1.6-windows-x64.zip

Note: the Windows asset is built from abfdbf8 (the v0.1.6 baseline b19eaea plus the two Windows-port commits a700160 and abfdbf8, which add Windows build support only and do not change game logic). Config files are stored under %APPDATA%\LodRecomp.

Changes since v0.1.5

  • Fixes the Fog Lake / Map76 werewolf boss disappearing by adding the missing NI44 indirect target symbol at 0x0F004030 and regenerating the recomp output.
  • Removes the temporary runtime shim for that boss; the generated overlay registration now owns the target.
  • Adds tools/audit_indirect_targets.py to scan NI overlays for similar missing indirect function targets.
  • Turns the Map76/B2 diagnostic trace back off by default after classifying the boss issue.
  • Improves the N64Recomp truncation fixer for partially cut forward declarations.

Notes

  • The macOS app is Apple Silicon/arm64, ad-hoc signed, not Developer ID signed or notarized.
  • The Windows build is x64, unsigned, first release — treat it as experimental and report issues with the full log around [CRASH] markers.
  • ROMs and ROM-derived assets are not included.
  • This is still a WIP recovery baseline, not a polished stable release.

Smoke test

Built locally with CMake and ad-hoc signed with the LoD macOS entitlements. The Map76 werewolf boss fix was manually confirmed after replacing the temporary shim with the regenerated symbol target. The Windows build was confirmed to boot the game to gameplay with NI overlays prepared from the stock ROM (245/245).

Don't miss a new cvlod_recomp release

NewReleases is sending notifications on new releases.