Case study
Touhou 7: reconstructing Perfect Cherry Blossom 1.00b source
Reconstructs C++ source for the Windows executable of Touhou 7: Perfect Cherry Blossom 1.00b and its custom.exe configuration tool, built with the original Visual Studio .NET 2002 and DirectX 8 toolchain and compared function by function with the user’s originals through reccmp. The committed progress badges report th07.exe fully implemented at 99.78% accuracy and custom.exe fully matched. The README says the game should be fully playable, but a matching build trips the game’s integrity check, and the cross-platform ports live on separate branches.
Requirements & limits
- README calls this a work-in-progress matching decompilation of th07.exe 1.00b and custom.exe; the committed, mutable badges report 694 of 694 th07.exe functions implemented at 99.78% accuracy, and custom.exe at 100% for both. Behaviour is meant to match the original but may differ. The portable and reallyportable branches (desktop, mobile and web ports) are separate and not covered here. README credits the GensokyoClub th06 and th08 decompilations for shared types, names and code.
- Supply your own th07.exe 1.00b (README gives its MD5, reccmp-project.yml its SHA-256), copied to resources/, for icon extraction and as reccmp’s comparison base; custom.exe is needed only for the configuration tool, and --no-icon builds without either. No game executable or game data files are committed; resources/csv holds the function, global, string and float tables reccmp uses.
- This branch builds only for 32-bit Windows with the MSVC 2002 toolchain, run under Wine on Linux, and needs uv and ninja. scripts/download_deps.py fetches Visual Studio .NET 2002 and the DirectX 8 SDK from archive.org and EstexNT’s var_order compiler patch from a gist; scripts/build.py generates and runs the ninja build.
- Contributors diff with reccmp, which reports per-function accuracy against the original as an HTML page or for one address. Because th07.exe is not yet byte-identical, README says a matching build fails the game’s integrity check and crashes after 3,999 Supervisor cycles; --no-matching disables that check. The repository has no CI; badge figures are project-generated, and this collection built or ran nothing.
- CC0 1.0 for the repository; the game and the downloaded Microsoft toolchain and SDK keep their own terms. resources/svgicon.png, embedded in the progress badge, is the game’s cover artwork marked © 2003 Team Shanghai Alice, which the CC0 dedication does not cover. The reviewed sources establish no AI or REA use.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- Game
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · some100/th07 · Revision 4878bf0
- CONTRIBUTING.md GitHub · some100/th07 · Revision 4878bf0
- reccmp-project.yml GitHub · some100/th07 · Revision 4878bf0
- resources/progress.svg GitHub · some100/th07 · Revision 4878bf0
- resources/custom/progress.svg GitHub · some100/th07 · Revision 4878bf0
- scripts/download_deps.py GitHub · some100/th07 · Revision 4878bf0
- scripts/build.py GitHub · some100/th07 · Revision 4878bf0
- resources/csv GitHub · some100/th07 · Revision 4878bf0
- LICENSE GitHub · some100/th07 · Revision 4878bf0
More in Games
- DKC1Recomp: static recompilation of Donkey Kong Country · Case study
- San Andreas Unity: a GTA San Andreas engine reimplementation in Unity · Case study
- MinecraftLCE: an early-stage Minecraft: Nintendo Switch Edition decompilation · Case study
- Final Fantasy VII: a matching PlayStation decompilation · Case study
- Mega Man X Recompiled: a snesrecomp static recompilation · Case study
- OpenSC4: an early open-source reimplementation of SimCity 4 · Case study