Random Character but w/ Best Bike For Every Race Online [Vega]
#1
Random Character but w/ Best Bike For Every Race -Online- [Vega]

This code will give you a new character to race with for every online race. If its a lightweight character, you will be using Bullet Bike. If its a mediumweight character, you will be using machbike. If its a heavyweight character, you will be using Flame Runner. Code does NOT work in Battles! If you know your PPC ASM, you can easily modify this cheat code to edit in your own personal vehicle picks for each character.

This code MAY get you banned from Wiimmfi if used on Wiimmfi public WWs, you've been warned.

Final NOTE: This code use of memory address 0x800004C0. Make sure no other codes you have equipped are using that address.

NTSC-U
C0000000 00000004
3D808000 896C04C0
396B0001 280B0018
41A00008 39600000
996C04C0 4E800020
C2612EF4 00000008
8063D930 4800001D
16151717 15151516
15171617 15151516
16161617 16171717
7D8802A6 3D608000
894B04C0 7D2A60AE
9943001C 9923001D
60000000 00000000

PAL
C0000000 00000004
3D808000 896C04C0
396B0001 280B0018
41A00008 39600000
996C04C0 4E800020
C2644314 00000008
80632100 4800001D
16151717 15151516
15171617 15151516
16161617 16171717
7D8802A6 3D608000
894B04C0 7D2A60AE
9943001C 9923001D
60000000 00000000

NTSC-J
C0000000 00000004
3D808000 896C04C0
396B0001 280B0018
41A00008 39600000
996C04C0 4E800020
C2643980 00000008
80631160 4800001D
16151717 15151516
15171617 15151516
16161617 16171717
7D8802A6 3D608000
894B04C0 7D2A60AE
9943001C 9923001D
60000000 00000000


NTSC-K
C0000000 00000004
3D808000 896C04C0
396B0001 280B0018
41A00008 39600000
996C04C0 4E800020
C263262C 00000008
80630740 4800001D
16151717 15151516
15171617 15151516
16161617 16171717
7D8802A6 3D608000
894B04C0 7D2A60AE
9943001C 9923001D
60000000 00000000

Code creator: Vega

C0 Source:
Code:
#C0

#cycle random character byte
lis r12, 0x8000
lbz r11, 0x4C0 (r12)
addi r11, r11, 1
cmplwi r11, 0x18
blt+ 0x8
li r11, 0
stb r11, 0x4C0 (r12)

#Done
#blr

C2 Source:

Code:
#C2 Hook Addresses
#NTSC-U 80612EF4
#PAL    80644314
#NTSC-J 80643980
#NTSC-K 8063262C

#Region Set
.set region, '' #Use e,p,j, or k

#Symbols
.set bullet, 0x15
.set mach, 0x16
.set flamerunner, 0x17

#Register Notes
#LR NOT safe!, r0 and r4 thru r12 safe
#r3 is SELECT Packet Ptr

#Hook Address Notes
#Code hooked at first parent that calls SELECT_Get_Winning_Track

#SELECT Packet Notes
#Relative to SELECT Handler Root Ptr which is your SELECT Ptr - 8
#Subtract offsets by 8 to get relative to actual start of your SELECT Packet
#0x8 Time of Sender
#0x10 Assumed Time of Receiver
#0x18 Your previous Race Position
#0x1A Your GP/Battle Points
#0x1C Your Character
#0x1D Your Vehicle
#0x1E Your Track Pick
#0x1F Your Rank Icon
#0x20 Your Guests previous Race Position
#0x22 Your Guests GP/Battle Points
#0x24 Your Guests Char
#0x25 Your Guests Vehicle
#0x26 Your Guests Track Pick (is yours ofc)
#0x27 Reserved/null byte
#0x28 Select ID word (unique; random)
#0x2C Battle Type (only bit 0 used of byte, rest is null/reserved)
#0x2D Team Bits (24 bits)
#0x3C Selected Track (0xFF is not picked yet)
#0x3D Selection/Lottery Phase
#0x3E Who Won Track Pick (0xFF is track not picked yet)
#0x3F CC

#Original Instruction; grab SELECT ptr
.if     (region == 'E' || region == 'e') #NTSC-U
        lwz r3, -0x26D0 (r3)
.elseif (region == 'P' || region == 'p') #PAL
        lwz r3, 0x2100 (r3)
.elseif (region == 'J' || region == 'j') #NTSC-J
        lwz r3, 0x1160 (r3)
.elseif (region == 'K' || region == 'k') #NTSC-K
        lwz r3, 0x0740 (r3)
.else #Invalid Region
        .err #Region match not detected. Tell the Assembler to halt and throw an error.
.endif

#Create Lookup Table
bl table #Values for small vehicles
.byte mach #Mario
.byte bullet #Baby Peach
.byte flamerunner #Waluigi
.byte flamerunner #Bowser
.byte bullet #Baby Daisy
.byte bullet #Dry Bones
.byte bullet #Baby Mario
.byte mach #Luigi
.byte bullet #Toad
.byte flamerunner #Donkey Kong
.byte mach #Yoshi
.byte flamerunner #Wario
.byte bullet #Baby Luigi
.byte bullet #Toadette
.byte bullet #koopa
.byte mach #Daisy
.byte mach #Peach
.byte mach #Birdo
.byte mach #Diddy Kong
.byte flamerunner #King Boo
.byte mach #Bowser Jr
.byte flamerunner #Dry Bowser
.byte flamerunner #Funky Kong
.byte flamerunner #Rosalina
.align 2

table:
mflr r12

#Grab Character Value from EVA
lis r11, 0x8000
lbz r10, 0x4C0 (r11)

#Based on Character value, grab its best vehicle
lbzx r9, r10, r12

#Write Character+Vehicle to SELECT packet
stb r10, 0x1C (r3)
stb r9, 0x1D (r3)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)