Execute Planet Destruction at Any Time Version 2 [Vega] This code allows you to execute a Planet destruction on any map at any time with any character. Simply press your activator. Should work on every game mode (tested on Duel, Tournament, and Ultimate Training). Improvements of Version 2 over Version 1: - Can execute more than one Planet Destruction per match - Can execute Planet Destruction that ends up as the same map - Bypasses certain checks that wasn't implemented in Version 1 (i.e. sometimes Version 1 wouldn't execute in Ultimate Training). - There is now multi option versions of the code where you can choose from a list of maps to destroy/change the planet into. MM = Map to be at after Destruction Link to MM values - https://mariokartwii.com/nonmkwcodes/dbzbt3/values.txt NTSC-U Rev1 (single MM option) 0408F7B4 7C7F1B78 0405E9A8 40820190 0405E9B4 40800014 0405EB14 41820024 0408F834 4080000C 283BXXXX YYYYZZZZ 0408F7B4 3BE000MM 0405E9A8 60000000 0405E9B4 4800003C 0405EB14 4800000C 0408F834 48000020 E0000000 80008000 NTSC-U Rev1 (2 MM options) 0408F7B4 7C7F1B78 0405E9A8 40820190 0405E9B4 40800014 0405EB14 41820024 0408F834 4080000C 283BXXXX YYYYZZZZ 0408F7B4 3BE000MM 0405E9A8 60000000 0405E9B4 4800003C 0405EB14 4800000C 0408F834 48000020 E0000000 80008000 283BXXXX YYYYZZZZ 0408F7B4 3BE000MM 0405E9A8 60000000 0405E9B4 4800003C 0405EB14 4800000C 0408F834 48000020 E0000000 80008000 NTSC-U Rev1 (3 MM options) 0408F7B4 7C7F1B78 0405E9A8 40820190 0405E9B4 40800014 0405EB14 41820024 0408F834 4080000C 283BXXXX YYYYZZZZ 0408F7B4 3BE000MM 0405E9A8 60000000 0405E9B4 4800003C 0405EB14 4800000C 0408F834 48000020 E0000000 80008000 283BXXXX YYYYZZZZ 0408F7B4 3BE000MM 0405E9A8 60000000 0405E9B4 4800003C 0405EB14 4800000C 0408F834 48000020 E0000000 80008000 283BXXXX YYYYZZZZ 0408F7B4 3BE000MM 0405E9A8 60000000 0405E9B4 4800003C 0405EB14 4800000C 0408F834 48000020 E0000000 80008000 Code creator: Vega Sources: Source 1st RAM Write: 'mr r31, r3' changed to 'li r31, 0xXX'. r3's value is from a function call that returns 3 options. -1 (planet not destructible), 3 (destroy planet to Ruined Earth), or 0xF (destroy planet to Dying Namek). This r31 value is used by the game to set the Map to end up after a planet destruction. Also, since in legit cases (without use of codes) that the r3 can be -1, this code ensures -1 to never be used (placed in r31). What this does is it also allows non-destructible maps to be destructible. Source 2nd RAM Write: 'bne- 0x190 changed to a nop. Not sure what this check is for but if it fails then planet destructions can't be called. So disable the check. FYI: There's a check right after this checking to see if r26 is a valid pointer (which was r3 from function call of 0x8005F354 located a bit earlier at 0x8005E984. We cannot remove this specific check because if the pointer is null and we bypass other check(s), then a DSI will occur because later on, r26 is used for loading instructions. Source 3rd RAM Write: 'bge- 0x14' replaced with 'b to 0x3C' at address 0x8005E9B4. Not entirely sure what this check is. Maybe this is an Game Mode check? Example the check fails if you use Goku (Early) in Ultimate Training on Wasteland Noon. The change of bge to b always tells the game that the check is successful. The branch amount is changed up to 0x3C because there is two more unknown checks right below, but its not anything pointer related, so they are both bypassed. Execution of CPU will land at 8005E9F0 Source 4th RAM Write: 'beq 0x24' instruction is replaced with 'b 0xC' at address 0x8005EB14. This will disable the beq branch of an r31 comparison, and will also jump over a r29 comparison. The execution of the CPU will be forced to land at 0x8005EB20 which will call the function 0x80031020 (void/no-args). This function is what causes the planet destruction to occur, however there is a child function with various checks that will addressed in the other sources. Source 5th RAM Write: 'bge- 0xC' instruction is replaced with 'b 0x20' at address 0x8008F834. First there are 3 previous checks above this, but if I skip these it can cause double or triple consecutive cut scenes of the planet destruction, so I can't mess with these. Anyway, this new branch skips over the check of previous function return (can't be negative), and the check of current Map vs new Map.