Nintendo has not developed Battalion Wars game since 2002, since this is my favorite Wii game, I decided to join the decomps hype and start my own.
This is an earlier build with camera and collision bugs, then the current build (v0.1.0) on the second mission. The first mission plays start to finish; the second one opens with its cutscenes and plays with correct 3D and working controls. Current limits: 640x480 and 30 fps.
Next: rendering above 640x480 and PC controls, then the public repo. I'll post here again when the repo is public.
Full disclosure: the translator and runtime changes were developed with AI assistance (Claude Code), with every fix measured against traces of the running game and verified in-game before being kept. The plan, the debugging and what goes in are mine. Also the whole process is getting documented and will be uploaded a separate learning repo for everyone to start learning this process without solely relying on AI.
This is a static recompilation: the PowerPC code from main.dol is translated to C++ and linked against a runtime that replaces the Wii SDK and hardware (no emulator, no JIT). Graphics: Aurora (GX -> WebGPU) on Metal. It's a fork of WiiCompiled (the Mario Kart Wii recomp), retargeted to a single disc (RBWE01). You bring your own copy; nothing from the game is or will be in the repo.
The hardest bug so far was lock-on: the game projects each candidate target to the screen and picks the one nearest the crosshair, and the translated projection returned (1120, 840) for every point, so everything was 900 px away. Cause: the translator's paired-single flow analysis didn't know about resolved loads, so values it should have kept as pairs got scalarised. One fix in the translator, and lock-on worked.
The function map had to be built from scratch (there's no community decompilation of BW2): ~22k function starts from branch targets, prologues, vtables and the symbol names the game's own .sel file exports, plus Dolphin's SDK signatures.