Skip to content

Commit 1e94568

Browse files
authored
[MK8] Add new cheats and support more update versions (#688)
@intra0 added a ton of new cheats that you can now use like: * Course Unlock: Unlocks every course and mirror mode in Mario Kart 8. * Change Online Race Rating: Sets your online race rating to 5000VR for accessing 150cc lobbies. * Gold Trophy / 3 Stars: Cheats for Grand Prix trophies, enabling 3-star gold trophies across engine classes and individual cups. * Unlock Characters: Unlocks all playable characters in Mario Kart 8. * Unlock Stamps: Unlocks all 100 collectible stamps.
1 parent 39f9bd6 commit 1e94568

File tree

16 files changed

+506
-49
lines changed

16 files changed

+506
-49
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[MarioKart8_CourseUnlock]
2+
moduleMatches = 0x9F0A90B7, 0xD09700CE ; v4.2(EU/NA/JP), v4.1(EU/NA/JP)
3+
.origin = codecave
4+
UnlockCourses:
5+
lis r30, 0x0303
6+
ori r30, r30, 0x0303
7+
stw r30, 0(r11)
8+
stw r30, 4(r11)
9+
lbzx r30, r11, r0
10+
blr
11+
12+
[MarioKart8_CourseUnlock_v42]
13+
moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP)
14+
;this mod makes every byte at 0x2e6b6668 = 3
15+
0x024D74CC = bla UnlockCourses
16+
17+
[MarioKart8_CourseUnlock_v41]
18+
moduleMatches = 0xD09700CE ; v4.1(EU/NA/JP)
19+
0x024D7148 = bla UnlockCourses
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[Definition]
2+
titleIds = 000500001010EC00,000500001010ED00,000500001010EB00
3+
name = Course Unlock
4+
path = "Mario Kart 8/Cheats/Course Unlock"
5+
description = Unlock Every Course + Mirror Mode!
6+
#Credits: Intra
7+
version = 7
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
[MarioKart8_OnlineRaceRating_v42]
2+
moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP)
3+
.origin = codecave
4+
5+
ChangeOnlineRaceRating:
6+
li r12, 0x1388
7+
lwz r8, 0x1a20(r29)
8+
cmpw r8, r12
9+
bgt ChangeOnlineRaceRatingExit
10+
li r8, ChangeOnlineRaceRating@hi
11+
xor r12, r12, r12
12+
not r12, r12
13+
neg r12, r12
14+
or r30, r12, r12
15+
add r12, r12, r12
16+
mullw r12, r12, r12
17+
add r8, r12, r12
18+
mullw r12, r8, r8
19+
add r12, r12, r12
20+
add r12, r12, r8
21+
mullw r8, r8, r8
22+
mullw r30, r8, r8
23+
add r8, r8, r8
24+
add r8, r8, r8
25+
add r30, r8, r30
26+
add r8, r8, r8
27+
add r30, r8, r30
28+
add r8, r30, r12
29+
ChangeOnlineRaceRatingExit:
30+
stw r8, 0x1a20(r29)
31+
lis r30, 0x4330
32+
blr
33+
34+
0x024DCE24 = bla ChangeOnlineRaceRating
35+
0x024dCE2C = nop
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[Definition]
2+
titleIds = 000500001010EC00,000500001010ED00,000500001010EB00
3+
name = Change Online Race Rating
4+
path = "Mario Kart 8/Cheats/Online Race Rating"
5+
description = Change Your Online Race Rating to 5000vr!|150cc lobbies start happening at 5000vr.
6+
#Credits: Intra
7+
version = 7
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
[MarioKart8_GoldTrophy]
2+
moduleMatches = 0x9F0A90B7, 0xD09700CE ; v4.2(EU/NA/JP), v4.1(EU/NA/JP)
3+
.origin = codecave
4+
5+
WriteTrophies:
6+
addi r11, r11, -1
7+
mtctr r12
8+
_forloopWriteTrophies:
9+
stbu r8, 1(r11)
10+
bdnz _forloopWriteTrophies
11+
blr
12+
13+
CheckandChangeTrophies:
14+
mflr r0
15+
;check cheat
16+
li r8, $cheattype
17+
cmpwi r8, 3
18+
beq Cheat3StarEVERYTHING
19+
cmpwi r8, 2
20+
beq CheatEntireEngineClass
21+
cmpwi r8, 1
22+
beq CheatSpecificCup
23+
b CheckandChangeTrophies_Exit
24+
25+
CheatSpecificCup:
26+
li r8, $trophy
27+
addi r11, r7, 0x5c4+$addroffset
28+
stb r8, $cup(r11)
29+
li r8, $stars
30+
addi r11, r7, 0x5c4+$addroffset-0x100
31+
stb r8, $cup(r11)
32+
b CheckandChangeTrophies_Exit
33+
34+
CheatEntireEngineClass:
35+
li r12, 12
36+
li r8, $trophy
37+
addi r11, r7, 0x5c4+$addroffset
38+
bl WriteTrophies
39+
li r8, $stars
40+
addi r11, r7, 0x5c4+$addroffset-0x100
41+
bl WriteTrophies
42+
b CheckandChangeTrophies_Exit
43+
44+
Cheat3StarEVERYTHING:
45+
li r12, 12
46+
;50cc
47+
li r8, $trophy
48+
addi r11, r7, 0x5c4
49+
bl WriteTrophies
50+
li r8, $stars
51+
addi r11, r7, 0x5c4-0x100
52+
bl WriteTrophies
53+
;100cc
54+
li r8, $trophy
55+
addi r11, r7, 0x5c4+0x20
56+
bl WriteTrophies
57+
li r8, $stars
58+
addi r11, r7, 0x5c4+0x20-0x100
59+
bl WriteTrophies
60+
;150cc
61+
li r8, $trophy
62+
addi r11, r7, 0x5c4+0x40
63+
bl WriteTrophies
64+
li r8, $stars
65+
addi r11, r7, 0x5c4+0x40-0x100
66+
bl WriteTrophies
67+
;Mirror
68+
li r8, $trophy
69+
addi r11, r7, 0x5c4+0x80
70+
bl WriteTrophies
71+
li r8, $stars
72+
addi r11, r7, 0x5c4+0x80-0x100
73+
bl WriteTrophies
74+
;200cc
75+
li r8, $trophy
76+
addi r11, r7, 0x5c4+0x60
77+
bl WriteTrophies
78+
li r8, $stars
79+
addi r11, r7, 0x5c4+0x60-0x100
80+
bl WriteTrophies
81+
82+
CheckandChangeTrophies_Exit:
83+
mtlr r0
84+
lwz r8, 0(r29)
85+
blr
86+
87+
[MarioKart8_GoldTrophy_v42]
88+
moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP)
89+
;modifies near 0x2E6B520C
90+
0x024D97F8 = bla CheckandChangeTrophies
91+
92+
[MarioKart8_GoldTrophy_v41]
93+
moduleMatches = 0xD09700CE ; v4.1(EU/NA/JP)
94+
0x024d9474 = bla CheckandChangeTrophies
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
[Definition]
2+
titleIds = 000500001010EC00,000500001010ED00,000500001010EB00
3+
name = Gold Trophy / 3 stars
4+
path = "Mario Kart 8/Cheats/Grand Prix Trophies"
5+
description = Cheat in Grand Prix Trohpies!|Must complete or quit a Grand Prix to save changes.
6+
#Credits: Intra
7+
version = 7
8+
9+
[Default]
10+
$addroffset = 0
11+
$cup = 0
12+
$cheattype = 1
13+
$trophy = 0
14+
$stars = 0
15+
16+
[Preset]
17+
category = Cheat Type
18+
name = Change EVERYTHING (200/mirror/150/100/50)
19+
$cheattype = 3
20+
21+
[Preset]
22+
category = Cheat Type
23+
name = Change Entire Engine Class
24+
$cheattype = 2
25+
26+
[Preset]
27+
category = Cheat Type
28+
name = Change Specific Cup (activates by cursor moving onto 50cc)
29+
$cheattype = 1
30+
31+
[Preset]
32+
category = Engine Class
33+
condition = $cheattype != 3
34+
name = 50cc
35+
$addroffset = 0
36+
37+
[Preset]
38+
category = Engine Class
39+
condition = $cheattype != 3
40+
name = 100cc
41+
$addroffset = 0x20
42+
43+
[Preset]
44+
category = Engine Class
45+
condition = $cheattype != 3
46+
name = 150cc
47+
$addroffset = 0x40
48+
49+
[Preset]
50+
category = Engine Class
51+
condition = $cheattype != 3
52+
name = Mirror
53+
$addroffset = 0x80
54+
55+
[Preset]
56+
category = Engine Class
57+
condition = $cheattype != 3
58+
name = 200cc
59+
$addroffset = 0x60
60+
61+
[Preset]
62+
category = Course
63+
condition = $cheattype == 1
64+
name = Mushroom Cup
65+
$cup = 0
66+
67+
[Preset]
68+
category = Course
69+
condition = $cheattype == 1
70+
name = Flower Cup
71+
$cup = 1
72+
73+
[Preset]
74+
category = Course
75+
condition = $cheattype == 1
76+
name = Star Cup
77+
$cup = 2
78+
79+
[Preset]
80+
category = Course
81+
condition = $cheattype == 1
82+
name = Special Cup
83+
$cup = 3
84+
85+
[Preset]
86+
category = Course
87+
condition = $cheattype == 1
88+
name = Shell Cup
89+
$cup = 4
90+
91+
[Preset]
92+
category = Course
93+
condition = $cheattype == 1
94+
name = Banana Cup
95+
$cup = 5
96+
97+
[Preset]
98+
category = Course
99+
condition = $cheattype == 1
100+
name = Leaf Cup
101+
$cup = 6
102+
103+
[Preset]
104+
category = Course
105+
condition = $cheattype == 1
106+
name = Lightning Cup
107+
$cup = 7
108+
109+
[Preset]
110+
category = Course
111+
condition = $cheattype == 1
112+
name = Egg Cup
113+
$cup = 8
114+
115+
[Preset]
116+
category = Course
117+
condition = $cheattype == 1
118+
name = Triforce Cup
119+
$cup = 9
120+
121+
[Preset]
122+
category = Course
123+
condition = $cheattype == 1
124+
name = Crossing Cup
125+
$cup = 10
126+
127+
[Preset]
128+
category = Course
129+
condition = $cheattype == 1
130+
name = Bell Cup
131+
$cup = 11
132+
133+
[Preset]
134+
category = Trophy
135+
name = Gold
136+
$trophy = 3
137+
138+
[Preset]
139+
category = Trophy
140+
name = Silver
141+
$trophy = 2
142+
143+
[Preset]
144+
category = Trophy
145+
name = Bronze
146+
$trophy = 1
147+
148+
[Preset]
149+
category = Trophy
150+
name = None
151+
$trophy = 0
152+
153+
[Preset]
154+
category = Stars
155+
name = 3
156+
$stars = 3
157+
158+
[Preset]
159+
category = Stars
160+
name = 2
161+
$stars = 2
162+
163+
[Preset]
164+
category = Stars
165+
name = 1
166+
$stars = 1
167+
168+
[Preset]
169+
category = Stars
170+
name = 0
171+
$stars = 0
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[MarioKart8_UnlockCharacter]
2+
moduleMatches = 0x9F0A90B7, 0xD09700CE ; v4.2(EU/NA/JP), v4.1(EU/NA/JP)
3+
.origin = codecave
4+
5+
UnlockCharactersMod:
6+
;r11 == 0x2e6b6690
7+
lis r30, 0x0303
8+
ori r30, r30, 0x0303
9+
stw r30, 0x0(r11)
10+
stw r30, 0x4(r11)
11+
stw r30, 0x8(r11)
12+
stw r30, 0xC(r11)
13+
stw r30, 0x10(r11)
14+
stw r30, 0x14(r11)
15+
stw r30, 0x18(r11)
16+
sth r30, 0x1C(r11)
17+
lbzx r30, r11, r0
18+
blr
19+
20+
[MarioKart8_UnlockCharacter_v42]
21+
moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP)
22+
0x024D76AC = bla UnlockCharactersMod
23+
24+
[MarioKart8_UnlockCharacter_v41]
25+
moduleMatches = 0xD09700CE ; v4.1(EU/NA/JP)
26+
0x024D7328 = bla UnlockCharactersMod
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[Definition]
2+
titleIds = 000500001010EC00,000500001010ED00,000500001010EB00
3+
name = Unlock Characters!
4+
path = "Mario Kart 8/Cheats/Unlock Characters"
5+
description = Unlock Every Character!
6+
#Credits: Intra
7+
version = 7
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
[MarioKart8_UnlockCharacter]
2+
moduleMatches = 0x9F0A90B7, 0xD09700CE ; v4.2(EU/NA/JP), v4.1(EU/NA/JP)
3+
.origin = codecave
4+
5+
UnlockStamps:
6+
;r11 == 0x2e6b6790
7+
li r12, 3 ;;
8+
li r30, 90
9+
mtctr r30
10+
addi r30, r11, 10-1
11+
_forloopUnlockStamps:
12+
stbu r12, 1(r30)
13+
bdnz _forloopUnlockStamps
14+
15+
lbzx r30,r11,r0
16+
blr
17+
18+
[MarioKart8_UnlockCharacter_v42]
19+
moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP)
20+
0x024D7A6C = bla UnlockStamps
21+
22+
[MarioKart8_UnlockCharacter_v41]
23+
moduleMatches = 0xD09700CE ; v4.1(EU/NA/JP)
24+
0x024D76E8 = bla UnlockStamps

0 commit comments

Comments
 (0)