no, the n64 recomp tool isn't going to magically make hacking these games any easier

Version 3; Last Update: 2024/05/23 14:53 UTC-6

I've already had to dispel this multiple times, and I'm likely going to have to do it some more, so I'm making it a page on my website so I don't have to continue to manually tell people the same damn thing.

These are the results I got when I ran the existing Virtual Pro-Wrestling 2 decomp through the program:

That's it. That's all it did. It did not even bother identifying symbols that I had already identified, other than GetWrestlerType. I mean, since the game uses overlays, I knew I was going to have to put in extra work, but the way people act about this, you'd think the entire game is available just after running the program. At the very least, I thought it'd get ID2toID4 and ID4toID2.

For full transparency, this is the vpw2.toml I originally used:

[input]
entrypoint = 0x80001000
# Paths are relative to the location of this config file.
elf_path = "vpw2_z.elf"
output_func_path = "RecompiledFuncs"

The next time someone asks about "omg let's put the AKI games through recomp", link them this page.

(also, even if this worked, I would still have to do things that I'm already doing in the context of the decomp, such as replacing hardcoded file IDs with symbol names. getting the full game code output is just one piece of the larger puzzle.)


2024/05/18 Update

I fixed the entry point to be 0x80000400, but that did not provide any new C files. So the problem is likely elsewhere. I am not insulting the tool or its author(s), but I do want people to have realistic expectations. I have seen people assume that the recomp program can "port n64 games to PC in a matter of seconds", which is blatantly false.

Another elephant in the room is the fact that the Mario and Zelda decomp communities are much larger than the decomp community surrounding the N64 AKI games. It's been this way for quite some time (decades, at last check); the only way to fix it is to get more knowledgable people involved in our scene.


2024/05/23 Update

Further research shows that the only functions that got decompiled properly were ones that were already converted to C. There seems to be a reason for this... Quoting Mr-Wiseguy:

The recompiler can only use symbols that have valid sizes in the elf, so it may be ignoring them and then finding the function later on via the static function detection process.

Most of the code in the VPW2 decomp is still assembly in GLOBAL_ASM blocks, which might explain why I wasn't able to get anything reasonable. The VPW2 decomp was also started long before N64 decompilation became a bit better organized and/or standardized.


Update log

the situation might change in the future, so I'm keeping an update log just in case this page gets any major changes