fun fact:
This game I'm trying to reverse engineer defines one thousand, one hundred, and fifteen v-tables!

second fun fact:
I'M ABOUT TO PULL OUT ALL MY HAIR

on the positive side, I think I've discovered built-in modding capability that's gone unnoticed for 13 years

I've moved on to ADVANCED reverse engineering techniques.

I emailed the company that made the game asking them for the specs/SDK for their engine.

oh sweet lord this code uses TEMPLATES.
like C++ reverse engineering isn't bad enough, now I have to deal with TEMPLATES?
vtables, templates, and a compiler that aggressively inlines.
this is SO MUCH FUN

OH GOODY they have a sentinel value in their vector implementation.
is it NULL?

nope. it's '#EOF'. as a pointer.
(void*)0x23454f46

This is safer than it sounds: The Wii's virtual addresses are in the 0x80000000 - 0xD3FFFFFF range, with 32 kb of registers up in 0xCD000000.

Nothing is ever mapped at 0x23000000.

I want to ask the developers so many things.
like why they're calling getBinaryData on a GuiAssetProvider (and providing a GuiResourceLock) to load a TEXT FILE.
@foone Is there context to the text file contents? Like, is it localization, subtitles, or something Unicode specific?
@AT1ST it's puzzles to be used in the game. not localized in this version.