05-09-2025, 07:20 PM
(05-09-2025, 06:23 PM)LightKingdom666 Wrote: Okay, I understand, but... why do you say "More code testing would need to be done to know which hook is best" when in your case and in mine it's the exact same hook instruction?
stb r5, 0x0498 (r3)
Yes they are the same instructions but this instruction is at two diff hooks (locations/functions). As mentioned earlier, the game uses 2 (or more) funcs that involve a store instruction (i.e. the stb) to write the slot to the character packet in memory. Now why did you end up finding a different hook/func than me? It means under certain circumstances, "your" func is used by the game at times instead of "mine". Figuring out exactly why would require more analysis. Which one to use? Not sure, but in similar situations you may need to use both codes. Meaning you would use both C3 codes when running the game.
It's crucial that you understand how C2/C3 codes actually work.
1. The Code Handler placees a backwards branch at the hook address (i.e. 0x815B59E8) replacing w/e instruction was originally there (i.e. default instruction, this is why C2/C3 codes need their default instruction in the source)
2. The backwards branch goes to where the rest of your code is located (determined automatically by the Code Handler, around 0x80002XXX memory)
3. The "00000000" final part of a C2/C3 code tells the code handler to use a forward branch (exact branch auto calc'd by Code Handler).
4. Once code has completed, forward branch goes to hook address + 4 (0x815B59EC)
If the game doesnt execute the hook address, it means the code won't get executed.
(05-09-2025, 06:23 PM)LightKingdom666 Wrote: Isn't there a way to fix that? Does that guarantee that my code will always work regardless of the site where I download the games?
It just means we need to find a better hook, or it's the case where you need both C3 codes in your GCT/Cheat-Manager to ensure the character selection mods occur 100% of the time. It has nothing to do with what site you got the game from.
(05-09-2025, 06:23 PM)LightKingdom666 Wrote: But anyway, what could I do to fix the error so it doesn't crash on the Wii?
Your current code simply won't work for the reasons I've mentioned in my previous posts.
Did you try the code I've created using your Hook?
C35B59E8 00000008
7D8802A6 4800000D
030E0F03 0E0F0000
7D6802A6 396BFFFF
38600006 395B0470
7C6903A6 8C0B0001
9C0A0028 4200FFF8
7D8803A6 38600000
60000000 00000000
Btw if nothing happens (as if code doesnt exist), that means the game probably used my hook/func. Meaning you would need both codes applied.
Here's mine if you need it
C35B5268 00000008
7D8802A6 4800000D
RRTTVVXX YYZZ0000
7D6802A6 396BFFFF
38600006 395B0470
7C6903A6 8C0B0001
9C0A0028 4200FFF8
7D8803A6 38600000
60000000 00000000