• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Land cancelling

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
I'm not really sure if someone already wrote about this, but I'll write about it anyways. So far a while now I've been trying to figure out how to make things land-cancellable like projectiles and I found a solution that works almost 100% of the time (Doesn't work with yl/link's arrows to name an exception).
What you'll need.
You're going to want to read up on Magus's notes on special interrupts.
For this you are going to need this gecko code which shows the current action and subaction state of the player.
You'll also need a hex editor. I suggest HxD
You will need GCR to open up your ISO
What you are going to want to do is turn on that cheat and start a match using the character you are going to want to edit. For this example I'll just use fox and his aerial shine. Use the move you want to change and take a note of p2's percent. Convert p2's percent into hex. Close dolphin. Open up your melee ISO in GCR and export start.dol (browse to &&systemdata and right click on start.dol | export). Open up the start.dol in your hex editor. I really suggest HxD because you'll want to format it for easier use. If you are using HxD click on
View -> Byte Group Size -> 4

View -> Bytes Per Row -> 32

Now press browse to the dol offset of your character, you can do this by pressing ctrl + g.
You can find a list of the character dol offsets here.
Browse downwards until you reach 0000xxxx with x being the hex of the noted player 2's percent.
From there move 0x14 to the right, or 5 byte groups if you formatted HxD. Take note of that offset.
Now what you are going to want to to is find something to replace that.
You could repeat these steps for something you want to replace it with, or you can use my notes.
land-cancel: 800E6CBC

Fox: 3C4788
subaction id:
169 13A Ground down-b start
16B 13C Ground down-b loop
159 12B aerial neutral-b start
15A 12C aerial neutral-b loop
16D 13D aerial down-b start
16E 13E aerial down-b loop


12B = 003C0511 12000000 800E6740 800E6B30 800E6BDC 800E6C9C 800761C8
12C = 00340511 12000000 800E69BC 800E6B58 800E6BFC 800E6CBC 800761C8
13A = 003C1014 15000000 800E8A24 800E8B14 800E8C34 800E8CDC 800761C8
13A = 00341014 15000000 800E8FDC 800E91FC 800E9204 800E92AC 800761C8
13C = 00341014 15000000 800E9B40 800E9BC8 800E9BD0 800E9C50 800761C8
13D = 00341414 15000000 800E8720 800E87D0 800E8884 800E8920 800761C8
13E = 003C1414 15000000 800E8A9C 800E8B64 800E8C68 800E8D18 800761C8
800E6CBC
melee table of contents: 0x3BF800

003C0511
0x3c4A80: 13D = 00341414
0x3c4AA0: 13E = 003C1414
Kinda not Interrupts
13D = 800E8720
13E = 800E8A9C
12B = 800E6740
12C = 800E69BC
Actually Interrupts:
13D = 800E87D0
13E = 800E8B64
12B = 800E6B30
12C = 800E6B58
Presumably Action physics:
13D = 800E8884
13E = 800E8C68
12B = 800E6BDC
12C = 800E6BFC
Whatever is after action physics:
13D = 800E8920
13E = 800E8D18
12B = 800E6C9C
12C = 800E6CBC


Falco:
800E6CBC
Down b's: 13E
Aerial side-b: 130
Aerial side-b end: 132
130 = 00000130 00340612 13000000 800EA040 800EA080 800EA0BC 800EA164 800761C8
132 = 00000132 00340612 13000000 800EA944 800EA9A8 800EAA8C 800EABCC 800761C8
13E = 0000013E 00341414 15000000 800E8A9C 800E8B64 800E8C68 800E8D18 800761C8
13E = 0000013E 00341414 15000000 800E90EC 800E9200 800E9238 800E92E8 800761C8
Young links: 3CDFA0
aerial neutral-b loop = 12D
aerial neutral-b start = 12B
12B = 00340511 12000000 800ED72C 800EDEB0 800EE038 800EE2E0 800761C8
12D = 00340511 12000000 800EDB8C 800EDFD4 800EE078 800EE3F0 800761C8


change 12D second to last thing 8013CCE4
(Doesn't work causes a crash D: )


0x003CE060 : 800EE2E0
0x003CE0A0 : 800EE3F0
offsets for the above two
pikachu:
aerial neutral-b = 128
0x003CADB0: 80124C20
Jigglypuff: 3CCEF0
aerial up-b left = 140
aerial up-b right = 142
grounded down-b left = 143
grounded down-b right = 145
aerial down-b left = 144
aerial down-b right = 146
13F = 0000013F 00340013 14000000 8013CB68 8013CC60 8013CC68 8013CCA8 800761C8
140 = 00000140 00340413 14000000 8013CBE4 8013CC64 8013CC88 8013CCE4 800761C8
141 = 00000141 00340013 14000000 8013CB68 8013CC60 8013CC68 8013CCA8 800761C8
142 = 00000142 00340413 14000000 8013CBE4 8013CC64 8013CC88 8013CCE4 800761C8
143 = 00000143 00340014 15000000 8013CFCC 8013D044 8013D04C 8013D08C 800761C8
144 = 00000144 00340414 15000000 8013D008 8013D048 8013D06C 8013D0C8 800761C8
145 = 00000145 00340014 15000000 8013CFCC 8013D044 8013D04C 8013D08C 800761C8
146 = 00000146 00340414 15000000 8013D008 8013D048 8013D06C 8013D0C8 800761C8
Marth:
grounded up-b = 141
aerial up-b = 142
aerial up-b interrupt = 801384F0
aerial up-b air-ground interrupt = 80138940
ground up-b interrupt = 801383A8
ground up-b air-ground interrupt = 801388B4
grounded up-b = 00000141 00340213 14000000 801382E8 801383A8 80138638 801388B4 800761C8
aerial up-b 00000142 00340613 14000000 80138348 801384F0 8013873C 80138940 800761C8
in those notes I have various interrupts (Which are 4 byte groups from the subaction state) and the full rips of some subaction states.
I suggest only sticking to editing the the interrupts and action physics(0x14 from the subaction state) otherwise wonky things like this or even worse this can happen. (Shudder)
What you want to do is replace the byte group at the place you took note of with another thing, for this example I'm going to use Fox's Aerial Neutral-B loop to replace Fox's Aerial Down-b loop.
at the address 0x3C4AC0: 800E8D18 -> 800E6CBC
This enables fox's aerial down-b loop to be cancelled upon landing. So if you press shine immediately after leaving the ground you'll cancel the shine. You can do this with many other things. To make pikachu's aerial neutral-b land cancellable I can change the value at 0x3CADB0: 80124C20 -> 800E6CBC
 
Last edited:

Nuthilo

Smash Cadet
Joined
Dec 6, 2016
Messages
34
I'm sorry, but I can not understand anything here. The way you explain where to find the bytes is just weird to me. Sorry. Could you tell me simply how to make Luigi's neutral-b land cancelable?
 

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
I'm sorry, but I can not understand anything here. The way you explain where to find the bytes is just weird to me. Sorry. Could you tell me simply how to make Luigi's neutral-b land cancelable?
you can now easily find luigi's aerial neutral-b stuff in crazyhand under the move logic tab. replace its collision interrupt with 800E6CBC iirc.
 
Last edited:

Nuthilo

Smash Cadet
Joined
Dec 6, 2016
Messages
34
Great it worked! Thanks! Any idea on how to change the angle the projectile is fired at? Or any other animation codes to use in Crazy Hand? Can't find them on Google anywhere
 
Last edited:
Top Bottom