Banjo-Kazooie (X360)
Banjo-Kazooie
About the project
Banjo-Kazooie es un videojuego de plataformas de 1998 desarrollado por la compañía británica Rare y publicado por Nintendo para Nintendo 64. Controlando a los personajes, el oso Banjo y el pájaro Kazooie, el jugador intenta salvar a la hermana secuestrada de Banjo, Tooty, de la bruja Gruntilda. Se puede explorar nueve mundos no lineales para reunir elementos y progresar. Usando las habilidades transversales y de combate de Banjo y Kazooie, completan desafíos como resolver acertijos, saltar obstáculos y derrotar a jefes.
7 versions of Banjo-Kazooie
You're viewing: Banjo-Kazooie (X360)
Banjo-Kazooie (X360)github.com/banjo360/bk360
Banjo-Kazooiegithub.com/n64decomp/banjo-kazooie
Lighthousegithub.com/HarbourMasters/Lighthouse
Lighthouse (Android)github.com/izzy2lost/Lighthouse
Banjo-Kazooie (Android, 8cee)github.com/8cee/BanjoRecomp-Android
Banjo-Kazooie Recompiledgithub.com/BanjoRecomp/BanjoRecompOfficial project information
Banjo-Kazooie XBLA decompilation project
A research project to decompile the XBLA version of Banjo-Kazooie with help from (looking at the code of) the N64 decompilation project.
Some code, like enumerations or structure definitions, are taken from the N64 project.
Requirements
- split360 and coff-linker in the PATH.
- Visual Studio 2005 SP1 installed.
- XBOX 360 SDK installed (I'm using 7645).
- Editing
tools/vs2005.batto changeXEDKto the correct path. - Python
- GCC for PowerPC (e.g.
powerpc64-linux-gnu-*). Need to edittools/matcher.pyif different. - WINE installed if building on linux.
- Editing
Makefileto remove the call to WINE if building on Windows (untested).
Optional: you can add dump-diff to your PATH if you want to print the non-matching differences.
Usage
You need to have an uncrypted default.xex from Banjo-Kazooie (sha1: 24f81f8058d1be416d95ccfcb5ebd2503eb4fd47) at the root of the project.
Look at the Makefile to see what you can do. But basically, you do make split the first time (and each time you edit bk.yaml), then just make to regenerate merged.xex.
Objdiff
There is objdiff support. You just need to make objdiff to generate objdiff.json.
⚠️ Since the code is compiled with MSVC but checked against code assembled by GCC, relocations (i.e. function calls) will show as different
Current state
Copying functions from the Ghidra pseudo-code or from the N64 decompilation project and see if they match.