Inazuma Eleven 3: The Ogre — Recomp

ie3ogre-nds-recomp is a native PC port of Inazuma Eleven 3 Sekai heno Chousen The Ogre with 3D up to 10x and 16:9 widescreen.

README

Inazuma Eleven 3: Sekai heno Chousen!! The Ogre

Inazuma Eleven 3: The Ogre — Recomp

English · Português

Release Windows x64 Linux (from source) Requires your own cartridge MIT License

A native PC port of Inazuma Eleven 3: Sekai heno Chousen!! The Ogre (Nintendo DS)
through static recompilation from ARM to C++. No emulator: the game's code becomes a PC program.
3D up to 10× • 16:9 widescreen • savestates and rewind • controllers • mods • Brazilian Portuguese translation

How to play · Controls · Mods · Building · Development · Problems

Warning

Pre-alpha. The game runs with 2D/3D graphics, sound, videos and controls, and the story has been played past the first match, but there are still bugs. Back up your saves and report problems on the issues page.

Important

The game is not included. Releases carry no game data or code: the launcher prepares everything on your PC from a dump of your own cartridge. This is a non-profit fan project with no affiliation to LEVEL-5 or Nintendo.

Note

AI tools assist the development of this project. Its direction, technical decisions and testing are the maintainer's, who reviews every change before publishing it.

Note

The game itself is the Japanese version. The launcher and the in-game pause menu are in English by default, with Brazilian Portuguese as an option ("Language / Idioma" in the Play tab). The documentation in docs/ is in Brazilian Portuguese; this README is the English overview.

About

The game's ARM9 and its 133 overlays are translated to C++ by ntr-recomp (16,057 functions) and compiled for x86-64. What used to be DS hardware (2D and 3D graphics, sound, touch, cartridge) and the ARM7 are reimplemented on the PC, along with the parts of the BIOS and the NitroSDK the game uses.

On the DSIn this port
3D resolution256×1921× to 10×, with anti-aliasing
Screenstwo stacked 4:3 screens16:9: the bottom screen large with both small screens beside it, or stacked
Progressthe game's save onlythe game's save, 5 savestates and up to 30 s of rewind
Speednormalfast-forward from 2× to 10× and auto-A
ControlsDS buttons and styluskeyboard, mouse on the touch screen and controllers, all remappable
Contentthe cartridgemods as folders or .zip files, including the PT-BR translation
Wi-FiNintendo WFC (shut down)disabled

Features

  • ARMv5TE/Thumb → C++ recompiler (ntr-recomp): ARM9, ITCM and 133 overlays
  • Runtime: memory, IRQs, timers, DMA, overlays and threads as fibers; BIOS, NitroSDK and ARM7 in HLE
  • Software 2D and 3D rendering, with 3D from 1× to 10×, anti-aliasing and wireframe
  • Audio (16 channels at 32 kHz) and Mobiclip videos
  • Saves, savestates, rewind, fast-forward, 16:9 widescreen and remappable controls
  • Pause menu with settings, savestates and shortcuts
  • A launcher with nothing from the game: it prepares, configures, updates, picks saves and manages mods, in English or Brazilian Portuguese
  • Mods: replace files and overlay data, whole or as BPS patches (no game data)
  • A log, replay and history of every session, for bug reports
  • Linux release (source builds only for now)
  • Mods: documented formats, high-resolution textures, a special move editor

How to play

Requirements: Windows 10 or 11 (x64), a dump of your cartridge (see below) and an internet connection the first time, to download the compiler.

  1. Download ie3ogre-recomp-<version>-windows.zip from the latest release and extract it to a folder you can write to (Documents, for example; avoid "Program Files").
  2. Open ie3-launcher.exe and pick your dump, or drag the .nds onto the window.
  3. The launcher checks the dump, creates boej.pak (the game's data, ~450 MB), downloads the llvm-mingw compiler once (~190 MB) and compiles boej.exe. This takes one to a few minutes, depending on your CPU. Then just click Play: the dump is no longer needed.

The launcher's other tabs:

TabWhat it does
Settingsvideo, audio, controls and the launcher's language (also in the in-game pause menu, with Esc)
Savespicks the save the game uses, creates new saves and imports .sav files from a cartridge or emulators
Modsadds, enables, orders and removes mods; creates a mod from a modified dump
Updatesdownloads the new version and recompiles the game without asking for the dump; saves, settings and mods are kept

Everything stays in the launcher's folder: saves/, savestates/, mods/, logs/ and boej.ini (settings). The README.txt that ships with the release explains each one.

Supported dump
GameCodeSHA-1 of the .nds
Inazuma Eleven 3: Sekai heno Chousen!! The Ogre (Japan)BOEJ9380f1d7ee75e7c6ef24f1b76c88ecdc85088957

Only the unmodified retail dump (for a translation shipped as an .nds, see Mods). The other IE3 versions (Bomber, Spark and the European 3DS release) are not supported. If your dump has a different SHA-1, open an issue with the hash.

Controls

DSKeyboardController
D-padarrow keysD-pad or left stick
A / B / X / YX / Z / S / Aface buttons (by DS position)
L / RQ / Wshoulders
Start / SelectEnter / Right Shift or BackspaceStart / Back
Touch screenmouse on the bottom screen—
ShortcutKey
Pause menu (settings, savestates, reset, quit)Esc
Fast-forward (hold / toggle)Tab / F2
Auto-A (hold / toggle)C / F3
Savestate: save / load / change slot (1 to 5)F5 / F9 / F6 and F7
Rewind (hold; up to 30 s by default)R
Mark a problem in the logF8
Fullscreen / screenshotF11 / F12

Everything can be remapped in the launcher or the pause menu. Savestates also hold the running recompiled code: they only load in the same boej.exe and with the same mods (an update recompiles the game).

Mods and the PT-BR translation

Mods replace game files (text, fonts, images, tables) without touching boej.pak. Each mod is a folder or a .zip in the mods/ folder: put it there (or drag it onto the launcher) and enable it in the Mods tab. How to make a mod (in Portuguese): docs/MODS.md.

Official mods live in mods/ and ship as separate .zip files with each release, as patches only, with no game data:

ModWhat it is
CyberLifePlusBrazilian Portuguese translation. Originally made by the CyberLife group and continued here: the story is fully translated, and what is left is tracked in docs/TRADUCAO.md

Reporting problems

If something goes wrong, press F8 right away, close the game and open an issue with:

  • what happened and what you expected;
  • from the logs folder (the "Open the logs folder" button in the launcher): the session log in logs/sessoes/ and the replay with the same name in logs/replays/ (the .txt and the .sav, which replay the session exactly);
  • the version (Updates tab) and the enabled mods.

Each time the game opens is a session named after the date and time; the 20 most recent are kept, and logs/historico.txt summarizes all of them.

Building

Requirements: Python 3.12+, CMake 3.28+, a C++20 compiler and SDL3. You also need the retail dump.

python3 tools/extract.py retail.nds        # once: checks the dump and creates build/boej.pak
python3 tools/analyze.py dsd retail.nds    # once: function map (ds-decomp)
python3 tools/build.py                     # recompiles and builds build/cmake-rel/game/boej
./build/cmake-rel/game/boej
python3 -m unittest discover -s tools/tests -t tools   # tests (no ROM needed)

Windows builds from Linux/WSL, releases, Ghidra analysis and the environment variables used for testing: docs/DESENVOLVIMENTO.md.

Documentation

All in Portuguese.

DocumentContents
Developmentrepository layout, building, releases, static analysis, settings, logs and environment variables
Modsthe mod format, BPS patches, tools and how it works inside
PT-BR translationwhat is left to translate, the checklist, naming conventions and technical text rules
CyberLifePluscredits, versions and how to continue the translation
Diarythe project's step-by-step history, with what was learned about the game

Contributing

  • Never commit ROMs, dumps, extracted files or snippets of the game's code (.gitignore blocks the common cases). Mods go in as .bps patches, and translations in translations/ hold only the new text.
  • Log relevant findings and changes in docs/DIARY.md, and translation work in the docs/TRADUCAO.md checklist too.
  • Run the tests (python3 -m unittest discover -s tools/tests -t tools) before opening a pull request.

Credits

Translation

  • The CyberLife group, for the PT-BR translation that the CyberLifePlus mod is built on.

Projects and libraries

References

  • FFCCEOT-Recomp: static recompilation of a DS game; the architectural model for this project.
  • gen1recomp: the model for launcher-based releases.
  • khdays-port: a native port of a DS game from a decompilation.
  • melonDS and GBATEK: hardware references.

License and legal notice

This project's code (recompiler, runtime, launcher and tools) is licensed under the MIT License. Third-party components keep their own licenses (launcher/TERCEIROS.txt). The translation in mods/CyberLifePlus/ and translations/ builds on the CyberLife group's work and is not covered by the MIT License.

Inazuma Eleven and its characters, logos and artwork, including the logo in docs/assets/ and the icon in game/icon.ico, belong to LEVEL-5 Inc. This is a fan project with no affiliation to LEVEL-5 or Nintendo. You need a legitimate copy of the game to play. The generated boej.pak and boej.exe contain the game's data and code: they are for personal use only and must not be distributed.