Mario Kart Wii Gecko Codes, Cheats, & Hacks
Luck Wheelie Bot [Vega] - Printable Version

+- Mario Kart Wii Gecko Codes, Cheats, & Hacks (https://mariokartwii.com)
+-- Forum: Cheat Codes (https://mariokartwii.com/forumdisplay.php?fid=51)
+--- Forum: Offline Non-Item (https://mariokartwii.com/forumdisplay.php?fid=53)
+--- Thread: Luck Wheelie Bot [Vega] (/showthread.php?tid=1861)



Luck Wheelie Bot [Vega] - Vega - 07-17-2021

Luck Wheelie Bot [Vega]

Always get a luck wheelie, no controller input required. It's entirely automated. Works offline only. 

NOTE: This code makes use of memory addresses 0x80000FC8 thru 0x80000FCF. Make sure no other codes you have equipped are using those addresses.

Video - https://www.youtube.com/watch?v=pNDeJNrnLYs

NTSC-U
C2581BA0 00000005
74858000 3CA08000
38800000 40A20008
38800001 98850FC8
93A50FCC 80A30000
60000000 00000000
C2581FA4 00000005
3D808000 816C0FCC
7C0BE800 40820014
898C0FC8 2C0C0001
40820008 38600001
2C030001 00000000

PAL
C25883C4 00000005
74858000 3CA08000
38800000 40A20008
38800001 98850FC8
93A50FCC 80A30000
60000000 00000000
C25887C8 00000005
3D808000 816C0FCC
7C0BE800 40820014
898C0FC8 2C0C0001
40820008 38600001
2C030001 00000000

NTSC-J
C2587D44 00000005
74858000 3CA08000
38800000 40A20008
38800001 98850FC8
93A50FCC 80A30000
60000000 00000000
C2588148 00000005
3D808000 816C0FCC
7C0BE800 40820014
898C0FC8 2C0C0001
40820008 38600001
2C030001 00000000

NTSC-K
C257641C 00000005
74858000 3CA08000
38800000 40A20008
38800001 98850FC8
93A50FCC 80A30000
60000000 00000000
C2576820 00000005
3D808000 816C0FCC
7C0BE800 40820014
898C0FC8 2C0C0001
40820008 38600001
2C030001 00000000

Code creator: Vega
Code credits: Stebler (player.h mkw-structure GitHub)



Source:
1st ASM

#NTSC-U = 80581BA0
#PAL = 805883C4
#NTSC-J = 80587D44
#NTSC-K = 8057641C

#r4 and r5 safe for use

#r29 = Pointer to some structure, this r29 value must be matched in other ASM so we know we are calling a new wheelie on the correct player. This should fix the VS Race issues where other ppls/CPUs wheelies effected your own, lul.

andis. r5, r4, 0x8000 #Check if r4 was a pointer or if it was the byte size wheelie timer value. If it's the timer value byte, we know to continue the wheelie
lis r5, 0x8000 #Set EVA Upper
li r4, 0 #Preset Status Flag to 0
bne+ end_code

li r4, 1 #Need to initiate an LW, set status flag to 1

end_code:
stb r4, 0x0FC8 (r5) #Update Status Flag in EVA
stw r29, 0x0FCC (r5) #Store Structure Pointer
lwz r5, 0 (r3) #Default Instruction

=================

2nd ASM

#NTSC-U = 80581FA4
#PAL = 805887C8
#NTSC-J = 80588148
#NTSC-K = 80576820

lis r12, 0x8000 #Set EVA Upper
lwz r11, 0x0FCC (r12) #Load Structure Pointer (r29 from other ASM)
cmpw r11, r29 #r29 my 1st ASM and this ASM must be a match. If not, skip code.
bne- default_instruction

lbz r12, 0x0FC8 (r12) #Load Status Flag
cmpwi r12, 1 #Check if Flag is 1
bne- default_instruction

li r3, 1 #Setting this to 1 will tell the game to call the Start Wheelie function (shortly after a series of other small checks such as checking if the player is making contact with the ground)

default_instruction:
cmpwi r3, 1