PORTCLUB
Cabecera de Pokemon Battle Revolution
Port nativo

Pokemon Battle Revolution

Port nativo de Pokemon Battle Revolution para PC.

Pokemon Battle Revolution

Port nativo basado en bgsamm/pbr-dtk.

README del repositorio

Pokémon Battle Revolution Build Status Progress Discord Badge

A work-in-progress matching decompilation of Pokémon Battle Revolution for the Wii. It currently targets the PAL release (RPBP01, revision 0).

This repository contains no game assets or assembly. You need your own copy of the game to build it.

[!NOTE] Some contributions are made with the help of AI. However, this project still strives to maintain a high standard of quality through the use of fakematch linting and human PR reviews.

Progress

Overview

21.05% of the code matches the original (6,410 of 13,890 functions). 2.32% is in finished units linked into the build.

AreaSizeMatched
Startup2 KiB7.0 %█░░░░░░░░░░░░░░░░░░░
Game entry point37 KiB34.7 %███████░░░░░░░░░░░░░
Battle presentation288 KiB22.2 %████░░░░░░░░░░░░░░░░
Scenes and menus1,024 KiB4.9 %█░░░░░░░░░░░░░░░░░░░
Save data and Wi-Fi data68 KiB5.0 %█░░░░░░░░░░░░░░░░░░░
Battle loop and camera375 KiB17.0 %███░░░░░░░░░░░░░░░░░
Runtime, C library and MetroTRK79 KiB86.9 %█████████████████░░░
gs engine470 KiB18.7 %████░░░░░░░░░░░░░░░░
Game sound46 KiB3.4 %█░░░░░░░░░░░░░░░░░░░
Game networking51 KiB29.4 %██████░░░░░░░░░░░░░░
Revolution SDK627 KiB26.7 %█████░░░░░░░░░░░░░░░
Other Nintendo libraries (VF, DWC, NW4R, HOME menu)602 KiB15.6 %███░░░░░░░░░░░░░░░░░
Battle engine (ported from the DS games)204 KiB68.6 %██████████████░░░░░░
Pokémon data78 KiB79.8 %████████████████░░░░

Updated 2026-10-12 from the objdiff report of a local build.

Many matched functions still use placeholder names and types. A unit is marked Matching only once it meets the definition of done in CONTRIBUTING.md.

Building

Requirements:

  • Python 3 and ninja.
  • On Linux and macOS, the Metrowerks compiler runs through wibo, which is downloaded automatically. On Apple Silicon, wibo needs Rosetta 2 (softwareupdate --install-rosetta).
  • On Windows, the compiler runs natively.

Steps:

  1. Put your disc image (ISO, RVZ, WBFS, CISO, GCZ…) in orig/RPBP01/. It can be deleted after the first build.

  2. Configure and build:

    python configure.py
    ninja
    

    The build checks the resulting main.dol against config/RPBP01/build.sha1.

  3. To compare functions, open the project directory in objdiff once objdiff.json exists.

Documentation

FileContents
CONTRIBUTING.mdHow to contribute: scope of a change, tools, build and verify, definition of done, commits and PRs, sign-off
STYLE.mdCode conventions
docs/areas.mdCurrently claimed sections being worked on
docs/fakematches.mdWhat counts as a fakematch and how to justify one
docs/quality.mdThe quality checks run on every pull request, and how to run them locally
docs/matching-notes.mdCompiler behaviour worked out on this project
docs/game-map.mdMap of main.dol by area (addresses, sizes, dependencies) and of the game's data files

Repository layout

PathContents
src/Source files for game code (i.e. excluding external libraries)
src/gs/Genius Sonority engine (memory, files, .fsys archives, scenes, rendering, input)
src/ds/Code ported from the Gen 4 DS games, including the battle engine (src/ds/battle/)
src/.unsorted/Units whose role is not identified yet, named after their start address
include/Headers, one per module, mirroring src/ (include/gs/GSnand.hpp for src/gs/GSnand.cpp); project-wide helpers and macros in include/common.hpp
libs/Revolution SDK, RevoEX, Metrowerks runtime and C library, MetroTRK
config/RPBP01/splits.txt and symbols.txt for decomp-toolkit
configure.pyCompiler settings and the unit list with Matching/NonMatching flags; generates build.ninja
orig/RPBP01/Your disc image (not in the repository)
build/Build output, including the target assembly of each split in build/RPBP01/asm/
tools/Build scripts and progress.py; tools/decomp/ has scripts for checking a unit, tools/qa/ the quality checks
scripts/Custom analysis scripts
ghidra_scripts/Imports symbols.txt into a Ghidra project
docs/Documentation (see above)

Credits

License

CC0, like the projects whose code it imports, except the Bluetooth stack headers in libs/RVL_SDK/include/private/bte/, which derive from bluedroid and are under the Apache License 2.0 (see LICENSE and NOTICE in that directory).

Comentarios (0)

Inicia sesión para dejar un comentario.

Sé el primero en comentar sobre este juego.