Acceleration multiplier (CTGP 200cc) [stebler]
This code is outdated by https://mkwii.com/showthread.php?tid=1710.
NTSC-U:
048b13b8 40900000
04575600 60000000
c25745fc 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000
PAL:
048b5c78 40900000
0457be64 60000000
c257ae60 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000
NTSC-J:
048b4dd8 40900000
0457b7e4 60000000
c257a7e0 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000
NTSC-K:
048a40f0 40900000
04569ebc 60000000
c2568eb8 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000
Patch 1: set the boost acceleration to 4.5 (instead of 3.0)
# replace at 808b13b8 (NTSC-U)
# replace at 808b5c78 (PAL)
# replace at 808b4dd8 (NTSC-J)
# replace at 808a40f0 (NTSC-K)
40900000
Patch 2: remove a branch to always use the same (smaller) speed cap while boosting
# replace at 80575600 (NTSC-U)
# replace at 8057be64 (PAL)
# replace at 8057b7e4 (NTSC-J)
# replace at 80569ebc (NTSC-K)
nop
Patch 3: multiply the non-boost acceleration by 1.5 if the player is not drifting
# inject at 805745fc (NTSC-U)
# inject at 8057ae60 (PAL)
# inject at 8057a7e0 (NTSC-J)
# inject at 80568eb8 (NTSC-K)
lwz r3, 0x0 (r29)
lwz r3, 0x4 (r3)
lwz r3, 0x4 (r3)
rlwinm. r3, r3, 0, 28, 28
bne end
lis r3, 0x3fc0
stw r3, 0x30 (r29)
lfs f0, 0x30 (r29)
fmuls f1, f0, f1
end:
stfs f1, 0x30 (r29)
This code is outdated by https://mkwii.com/showthread.php?tid=1710.
NTSC-U:
048b13b8 40900000
04575600 60000000
c25745fc 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000
PAL:
048b5c78 40900000
0457be64 60000000
c257ae60 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000
NTSC-J:
048b4dd8 40900000
0457b7e4 60000000
c257a7e0 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000
NTSC-K:
048a40f0 40900000
04569ebc 60000000
c2568eb8 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000
Patch 1: set the boost acceleration to 4.5 (instead of 3.0)
# replace at 808b13b8 (NTSC-U)
# replace at 808b5c78 (PAL)
# replace at 808b4dd8 (NTSC-J)
# replace at 808a40f0 (NTSC-K)
40900000
Patch 2: remove a branch to always use the same (smaller) speed cap while boosting
# replace at 80575600 (NTSC-U)
# replace at 8057be64 (PAL)
# replace at 8057b7e4 (NTSC-J)
# replace at 80569ebc (NTSC-K)
nop
Patch 3: multiply the non-boost acceleration by 1.5 if the player is not drifting
# inject at 805745fc (NTSC-U)
# inject at 8057ae60 (PAL)
# inject at 8057a7e0 (NTSC-J)
# inject at 80568eb8 (NTSC-K)
lwz r3, 0x0 (r29)
lwz r3, 0x4 (r3)
lwz r3, 0x4 (r3)
rlwinm. r3, r3, 0, 28, 28
bne end
lis r3, 0x3fc0
stw r3, 0x30 (r29)
lfs f0, 0x30 (r29)
fmuls f1, f0, f1
end:
stfs f1, 0x30 (r29)