Hop Anywhere Anytime [Vega]
#1
Hop Anywhere Anytime [Vega]

Video~



Can Hop anywhere at anytime, you can hop multiple times while in the air. Thus you can keep hopping up and up into the sky. Won't work in cannons (hop sound will still occur) but you can't change the cannon trajectory.

You also have the ability to use something other than the Hop button for Hops, so that way you can do both normal hops and 'hacked' hops.

Not only that, this code serves as a proxy 'Rapid Hop' code. Simple hold down your ZZZZ button and you will be hopping every frame.

Press ZZZZ to hop at anytime regardless of where you are at.

W (PAL only) values:
4 = Non-GCN
5 = GCN

XXXX = Controller Address
ZZZZ = Button for Universal Hop (must be a single button that is chosen, no double/triple/etc button combos)

If using GCN, use the Wavebird values for the ZZZZ values.

NTSC-U
C2577668 00000008
3D808034 A18CXXXX
718CZZZZ 41820028
819D0000 818C0000
898C0010 3D60809C
816B8F68 896B0B84
7C0B6000 40A20008
38600001 2C030000
60000000 00000000

PAL
C257DECC 00000008
3D80803W A18CXXXX
718CZZZZ 41820028
819D0000 818C0000
898C0010 3D60809C
816BD728 896B0B84
7C0B6000 40A20008
38600001 2C030000
60000000 00000000

NTSC-J
C257D84C 00000008
3D808034 A18CXXXX
718CZZZZ 41820028
819D0000 818C0000
898C0010 3D60809C
816BC788 896B0B84
7C0B6000 40A20008
38600001 2C030000
60000000 00000000

NTSC-K
C256BF24 00000008
3D808033 A18CXXXX
718CZZZZ 41820028
819D0000 818C0000
898C0010 3D60809B
816BBD68 896B0B84
7C0B6000 40A20008
38600001 2C030000
60000000 00000000

Code creator: Vega
Code credits: Stebler (get slot function code, ptr_race data code and addresses; also used his documentation on Seeky's mkw-structure github of 'virtual boot canHop() to go back into the Callstack to find Hook Address), Seeky (mkw-structure github page)



#START ASSEMBLY (C2)

#Address Ports
#NTSC-U = 80577668
#PAL = 8057DECC
#NTSC-J = 8057D84C
#NTSC-K = 8056BF24

#Region Compilation Setting

.set region, '' #Fill in P, E, J, or K (case sensitive)

.if (region == 'P')
        .set ptr_raceData, 0x809bd728
.elseif (region == 'E')
        .set ptr_raceData, 0x809b8f68
.elseif (region == 'J')
        .set ptr_raceData, 0x809bc788
.elseif (region == 'K')
        .set ptr_raceData, 0x809abd68
.else
        .err
.endif

#Load current Button Halfword combo
lis r12, 0x8035 #PAL GCN used for compilation, adjust this accordingly
lhz r12, 0xFFFF8200 (r12) #PAL GCN port 1 used, adjust accordingly

#Check it for B button activation, feel free to adjust the button activator
andi. r12, r12, 0x0200
beq- original_instruction

#Get Slot function is hooked on
lwz r12, 0x0 (r29)
lwz r12, 0x0 (r12)
lbz r12, 0x10 (r12)

#Get Your Slot (added this so code works on both offline and online)
lis r11, ptr_raceData@ha
lwz r11, ptr_raceData@l (r11)
lbz r11, 0xb84 (r11)

#Check em'
cmpw r11, r12
bne+ original_instruction

#Force universal Hop
li r3, 1

#Original Instruction; check return value from previous function call (Can Hop? Function call). r3 = can't hop. r3 = can hop
original_instruction:
cmpwi r3, 0

#END ASSEMBLY
Reply
#2
why do i feel like i could rapid fire hop abuse with this
Reply
#3
It seems like you're working on a modification for hopping in a game. How's the progress going? Any specific challenges you're facing?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)