Note:
The following is quite unfinished and may not work perfectly all the time. I left it in a better understandable format in case someone wishes to work on it...
These codes depend on each other a lot, they are NOT meant for individual usage besides "Disable Original Item Effect".
And no, I won't port this to other regions <_<
To simply make it work, run ALL codes below AT ONCE.
http://www.bullywiihacks.com/t3019-disable-original-item-effect#17343
with value 0E (Thunder Cloud).
Get Source & Destination Pointer -PAL- [Bully@Wiiplaza]
C27BC9C8 00000015
81830004 2C0C000E
40820098 3D808167
39600001 916C4684
812C4678 810C467C
38E00000 7C074000
4182006C 816C4680
1D490248 7D6B5214
814B008C 2C0A0014
41820014 2C0A000A
4182000C 2C0A000E
4082001C 39290001
7C094000 40810008
39200000 38E70001
4BFFFFBC 906C4688
916C468C 39600001
916C4690 3D808055
618CD5A8 3D603800
616B0001 916C0000
48000014 39600001
916C4698 48000008
90830004 00000000
Backup Item Pointer & Store Max Players -PAL- [Bully@Wiiplaza]
C2798F0C 00000005
3D808167 816C467C
7C0BE800 41810008
93AC467C 8003008C
2C1D0000 40820008
906C4680 00000000
Player Slot Randomizer -PAL- [Bully@Wiiplaza]
C0000000 00000005
3D808167 816C467C
814C4678 7C0A5800
4080000C 394A0001
48000008 39400000
914C4678 4E800020
*Chooses a random "victim" from all racers*
Invisibility Time & Steal Item -PAL- [Bully@Wiiplaza]
C0000000 00000013
3D808167 816C4690
2C0B0001 40820088
816C4694 396B0001
916C4694 2C0B0025
41800074 816C4698
2C0B0001 40820020
39600000 916C4698
816C4688 39400014
914B0004 39400000
914B0008 39600000
916C4690 916C4694
816C468C 818C4688
814B008C 914C0004
39400014 914B008C
814B0090 914C0008
39400000 914B0090
3D808055 618CD5A8
3D608805 616B0020
916C0000 4E800020
*Change the last 4 digits of 2C0B0025 to increase / decrease ghost delay*
*Credits to Hamster35000vr for "Invisible Racing"*
My chaotic assembly source code for people interested in developing it further:
The following is quite unfinished and may not work perfectly all the time. I left it in a better understandable format in case someone wishes to work on it...
These codes depend on each other a lot, they are NOT meant for individual usage besides "Disable Original Item Effect".
And no, I won't port this to other regions <_<
To simply make it work, run ALL codes below AT ONCE.
http://www.bullywiihacks.com/t3019-disable-original-item-effect#17343
with value 0E (Thunder Cloud).
Get Source & Destination Pointer -PAL- [Bully@Wiiplaza]
C27BC9C8 00000015
81830004 2C0C000E
40820098 3D808167
39600001 916C4684
812C4678 810C467C
38E00000 7C074000
4182006C 816C4680
1D490248 7D6B5214
814B008C 2C0A0014
41820014 2C0A000A
4182000C 2C0A000E
4082001C 39290001
7C094000 40810008
39200000 38E70001
4BFFFFBC 906C4688
916C468C 39600001
916C4690 3D808055
618CD5A8 3D603800
616B0001 916C0000
48000014 39600001
916C4698 48000008
90830004 00000000
Backup Item Pointer & Store Max Players -PAL- [Bully@Wiiplaza]
C2798F0C 00000005
3D808167 816C467C
7C0BE800 41810008
93AC467C 8003008C
2C1D0000 40820008
906C4680 00000000
Player Slot Randomizer -PAL- [Bully@Wiiplaza]
C0000000 00000005
3D808167 816C467C
814C4678 7C0A5800
4080000C 394A0001
48000008 39400000
914C4678 4E800020
*Chooses a random "victim" from all racers*
Invisibility Time & Steal Item -PAL- [Bully@Wiiplaza]
C0000000 00000013
3D808167 816C4690
2C0B0001 40820088
816C4694 396B0001
916C4694 2C0B0025
41800074 816C4698
2C0B0001 40820020
39600000 916C4698
816C4688 39400014
914B0004 39400000
914B0008 39600000
916C4690 916C4694
816C468C 818C4688
814B008C 914C0004
39400014 914B008C
814B0090 914C0008
39400000 914B0090
3D808055 618CD5A8
3D608805 616B0020
916C0000 4E800020
*Change the last 4 digits of 2C0B0025 to increase / decrease ghost delay*
*Credits to Hamster35000vr for "Invisible Racing"*
My chaotic assembly source code for people interested in developing it further:
- Spoiler:
- Code:
4678 = Random player slot
467C = Max players
4680 = Item pointer
4684 = Amount flag
4688 = Target pointer
468C = Source pointer
4690 = Delay indicator
4694 = Delay counter
4698 = No item
------------------------------
"Disable Item Effect" v
Hook: 80791958
lwz r31,140(r3)
cmpwi r31,0xE
bne- end
li r31,0x14
end:
------------------------------
"Get Source & Destination Pointer" v
Hook: 807BC9C8
lwz r12,4(r3)
cmpwi r12,14
bne- STORE
lis r12, 0x8167
#Store Flag Fix Amount#
li r11,1
stw r11,0x4684(r12)
#r9 = Random player slot#
lwz r9,0x4678(r12)
#r8 = Max players#
lwz r8, 0x467C (r12)
li r7, 0
FixPointer:
cmpw r7, r8
beq NoItemFound
#r11 = Item pointer#
lwz r11,0x4680(r12)
mulli r10,r9,0x248
add r11,r11,r10
lwz r10,140(r11)
cmpwi r10, 0x14
beq- _CONT1
cmpwi r10, 0xA
beq- _CONT1
cmpwi r10, 0xE
bne- _CONT
_CONT1:
addi r9, r9, 1
cmpw r9, r8
ble _SKIP
li r9, 0
_SKIP:
addi r7, r7, 1
b FixPointer
_CONT:
#Copy & paste stolen item#
stw r3, 0x4688 (r12)
stw r11, 0x468C (r12)
li r11, 1
stw r11, 0x4690 (r12)
lis r12, 0x8055
ori r12, r12, 0xD5A8
lis r11, 0x3800
ori r11, r11, 0x0001
stw r11, 0 (r12)
b END
NoItemFound:
li r11, 1
stw r11, 0x4698 (r12)
b END
STORE:
stw r4,4(r3)
END:
------------------------------
"Fix Item Amount" ---
Hook: 807BC9CC
lis r12, 0x8167
lwz r11, 0x4684(r12)
#If we stole leave alone the amount#
cmpwi r11,1
beq- END
stw r0,8(r3)
END:
#Clear flag#
stfs f22,0x4684(r12)
------------------------------
"Backup Item Pointer, Store Max Players" v
Hook: 80798F0C
lis r12, 0x8167
lwz r11,0x467C(r12)
cmpw r11,r29
bgt- _NoNewValue
#Store max players amount#
stw r29,0x467C(r12)
_NoNewValue:
lwz r0,140(r3)
cmpwi r29,0
bne- _NoFirstPointer
#Store item pointer#
stw r3,0x4680(r12)
_NoFirstPointer:
------------------------------
"Player Slot Randomizer" v
Hook: C0
lis r12, 0x8167
lwz r11, 0x467C (r12)
lwz r10, 0x4678 (r12)
#Cycle through starting at 0 until max players#
cmpw r10,r11
bge- _RESET
addi r10,r10,1
b _STORE
_RESET:
li r10,0
_STORE:
stw r10,18040(r12)
------------------------------
"Delay & Steal Item"
Hook: C0
lis r12, 0x8167
lwz r11, 0x4690 (r12)
cmpwi r11, 1
bne- _END
lwz r11, 0x4694 (r12)
addi r11, r11, 1
stw r11, 0x4694 (r12)
cmpwi r11, 0x25
blt _END
lwz r11, 0x4698 (r12)
cmpwi r11, 1
bne- CONT
li r11, 0
stw r11, 0x4698 (r12)
lwz r11, 0x4688 (r12)
li r10, 0x14
stw r10, 4 (r11)
li r10, 0
stw r10, 8 (r11)
CONT:
li r11, 0
stw r11, 0x4690 (r12)
stw r11, 0x4694 (r12)
lwz r11, 0x468C (r12)
lwz r12, 0x4688 (r12)
lwz r10, 140 (r11)
stw r10, 4 (r12)
li r10, 0x14
stw r10, 140 (r11)
lwz r10, 144 (r11)
stw r10, 8 (r12)
li r10, 0
stw r10, 144 (r11)
lis r12, 0x8055
ori r12, r12, 0xD5A8
lis r11, 0x8805
ori r11, r11, 0x0020
stw r11, 0 (r12)
_END:
blr