• 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!

Important Melee, Hacks, and You -- New Hackers Start Here, in the OP!

phish-it

Smash Champion
Joined
Apr 4, 2004
Messages
2,096
Location
Mahopac, NY
Animation/Subaction Swapping

Something that I've been meaning to post but have been putting off for some time now. If you weren't aware already it's been established how to speed up or slow down animations, but it is also possible to swap different animations with each other, as long as it is within the same character.

Character ID's

Code:
Bowser:                         00 00 00 05
Captain Falcon:               00 00 00 02
Donkey Kong:                  x8 00 00 03
Dr Mario:                       00 00 00 15
Falco:                            00 00 00 16
Fox:                               00 00 00 01
Game and Watch:           00 00 00 18
Ganondorf:                     00 00 00 19
Ice Climbers (Nana):       00 00 00 0B
Ice Climbers (Popo):        00 00 00 0A
Jigglypuff:                      00 00 00 0F
Kirby:                             00 00 00 04
Link:                              00 00 00 06
Luigi:                             00 00 00 11
Mario:                            00 00 00 00
Marth:                            00 00 00 12
Mewtwo:                        00 00 00 10
Ness:                             00 00 00 08
Peach:                           00 00 00 09
Pichu:                            00 00 00 17
Pikachu:                         00 00 00 0C
Roy:                               00 00 00 1A
Samus:                          00 00 00 0D
Sheik:                            00 00 00 07
Yoshi:                            00 00 00 0E
Young Link:                     00 00 00 14
Zelda:                            00 00 00 13


Character Offsets

Code:
Bowser:                   0x7B5C
Captain Falcon:         0x7AB4
Donkey Kong:           0x7E94
Dr Mario:                 0x7280
Falco:                      0x7820
Fox:                        0x7738
Game and Watch:     0x7c78
Ganondorf:               0x760C
Ice Climbers (Nana): 0x4D4C *
Ice Climbers (Popo): 0x6FB4
Jigglypuff:                0x6F58
Kirby:                      0xB29C
Link:                        0x7DAC
Luigi:                       0x6F5C
Mario:                     0x6F40
Marth:                     0x7D0C
Mewtwo:                 0x75BC
Ness:                       0x7690
Peach:                      0x865C
Pichu:                      0x75E4
Pikachu:                   0x7610
Roy:                        0x802C
Samus:                    0x70C4
Sheik:                      0x743C
Yoshi:                      0x733C
Young Link:               0x8158
Zelda:                      0x7CE4
The animation ID's are 24 bytes long and continue in the same order for all characters, and can be viewed in Masterhand. Characters with extra animations via B moves will have more obviously. The first animation in the sequence for all characters is WallDamage.



In this example I'm going to walk through the process of changing the animation of Bowser's down air to his aerial throwing a light item down animation.




The first thing to do would be to find where both of these animations are located in the code. An easy way to search is to replacing the data in this area with 0's and viewing it in Master Hand, which will be listed as No Name.

The location for the Down Air (AttackAirLw) at x0821C



This is the ID for the animation itself. I am unsure of what everything does within it.

This is the pointer, basically where it reads in the code when you use this move. If this is replaced by the pointer data of another subaction it'll call that data when the attack is used. ie, if I changed the pointer to that of his Forward Smash and nothing else, Bowser would do the animation of his down air but with his forward smash hitbox properties.

This is the character ID. Don't change this.

This byte is important for subactions which move the character (dash attacks, some forward smashes, certain B moves etc.). You need to copy this for subactions which move the character.


for the aerial throwing a light item down (LightThrowAirLw) at x08504



Since I am swapping the Down Air animation with the item throw, I'd copy this highlighted blue data and replace the highlighted blue data for the down air.

Because I changed the animation, the old down air hitboxes data doesn't logically make sense for it. In this case I just went back to where the down air hitbox data is located and rewrote it within the same parameters.

I slowed down the end of the animation to make it less erratic and safe. When using the Animation Engine posted by Magus, you would use the Down Air ID rather than the LightThrowAirLw ID. Also, I changed the down air landing animation to to that of his forward air to make it look more natural (the arms still reverse when he lands but you won't notice it unless you play it frame by frame).

Thats basically what I've figured out about animation/subaction swapping. Maybe you guys can dig deeper into it.
 

Acryte

Smash Ace
Joined
Mar 30, 2005
Messages
986
That's awesome phish, would you mind explaining the how you do speed ups and slow downs for animations? I know how to speed up the subactions by changing the timers but that only works for putting the hitboxes out earlier, I'd love to be able to speed up the animations for certain moves. Also where did magus post that animation engine? I dled most of the progs I saw being used around the forum but I didn't see that one.
 

phish-it

Smash Champion
Joined
Apr 4, 2004
Messages
2,096
Location
Mahopac, NY
Edited the post with a link to Magus'. And Acryte I think it was you who discover the swapping, I just looked deeper into it.
 

Acryte

Smash Ace
Joined
Mar 30, 2005
Messages
986
Awesome man thanks for that link. Wow I missed a lot having been gone a while. I just started back on this stuff again. Been messing around trying to get Yoshi's jump out of shield. I've made some key observations...

I've basically converted all of EfCoData.dat, PlYsAJ.dat, and PlYs.dat to a skeletonized version which is bare bones. Mainly Zeros and whatever indexes that need to stay there not to freeze. I still need to convert EfYsData.dat and PlCo.dat however. All the animations and moves have been stripped away. Yoshi just stands there in place, can jump and dash and run without animating. He can shield and spot dodge. Rolls have been stripped. Can shieldbreak but crashes on landing. Egg pieces have been removed on shield drop.

There are a couple solutions to the problem of jumping out of shield, some less appealing than others. Technically, if you mess with the animation for Yoshi curling into a ball before the egg comes out, you can make it take a LONG time before coming out. If that happens, Yoshi will still be invincible during the animation time (how supersheilding works, aka the idea is that Yoshi isn't able to jump out of shield as a special effect of powershielding, Yoshi can just powershield and is able to jump out of the animation all the way up until the egg pops out). To clarify that last part, the ability to jump out of the animation this is the same as just shielding. You can Jump Cancel it until the egg pops out. Also If you delete the graphic for Yoshi's shield (from the PlYsNr.dat for example) it still doesn't allow you to jump after it would have popped. Somewhere there is some code that runs that stops Yoshi from jumping out after the shield pops. Lengthening the animation for the curling to stop the shield from popping out is not aesthetically pleasing as a solution however, and there are 2 other legitimate options.

1. Redirect Yoshi to Normal characters shield code. He will just have a normal shield and not an egg.
2. Find where it disables the jump out of shield and get rid of it.

I've been going through the code attempting to locate shield pop code. I have found Shield Drop code which is in the EfCoData.dat file along with all normal character's shield pop, drop, shield damage, and graphic updating code.

As of now, the only places left to look are PlCo.dat (which seems reasonable), or EfYsData.dat and
I highly doubt it would be in the PlYsNr.dat texture file etc.

Any help is much appreciated on this and or giving Samus trancendant projectiles (full charge and smash missiles), and also I will have a USB gecko soon so that's nice. Then I can start harassing people for help learning to use that (which seems like a much easier solution for finding addresses lol)
 

phish-it

Smash Champion
Joined
Apr 4, 2004
Messages
2,096
Location
Mahopac, NY
Yeah I slowed down the initial shielding animation slightly as well; gives you a larger frame window to parry.

For Yoshi being able to jump out of his shield, I'm almost positive it's going to be in the main DOL, as this is where many input actions are stored. Where in the code could it be? Good luck.
 

Acryte

Smash Ace
Joined
Mar 30, 2005
Messages
986
If its in the main DOL i'll have to use a USB gecko then because that file is monstrous lol.
 

Acryte

Smash Ace
Joined
Mar 30, 2005
Messages
986
I've found something interesting in the main DOL. There is a section where it builds the characters' joints and stuff (I assume), but it is preceded by some code section that I think references other subsection of files relating to the character... Testing changes to this section on marth for example, it references his specials. I haven't tried it yet but I'm guessing you could swap Neutral B with side B etc here as well as doing other things with it... It seems that for normal characters it changes their specials, like Marth's counter etc. Whereas with yoshi it affects both specials AND yoshi's shield. The shield part seems to be coded slightly differently than the format used for specials however, so I'm wondering if specials might be looking into another file while yoshi's shield might either use that DOL file and check somewhere in it, or looks into a different file. It kinda makes sense it looks iin a different file since I have zeroed the PlYs.dat file and it's not in there, yet specials info IS in there. What I've observed from this section in the DOL file seems to coincide with what I've previously discovered... Hopefully I'm closing in on this and don't have to search that entire DOL file because that file is ridiculous to say the least.
 

Acryte

Smash Ace
Joined
Mar 30, 2005
Messages
986
No, its not like that, it looks different and affects how they work on a large level. I just replaced Yoshi's shield with egglay. The eating part wasn't functional, maybe if I copied the chunk above or below it too it would be. The idea is you can replace one and swap it with another.

Here is an example of what it looks like, I'll just post some of it because I can't copy paste right now, I have to type directly and it's gonna be a pain in the ***. This is the 2nd time I'm writing this post as I lost internet when I tried posting it before and it didn't keep the contents of the reply on refresh -_-

This is an excerpt of Yoshi's code for specials and shield at address 3C9810 in main.DOL, all the other characters are easy to find and are located in this general area of the DOL too.

00000025 00080000 01000000 8012B9A4 8012BA88 8012BB08 8012BB28 80076054
FFFFFFFF 000C0000 01000000 8012BC68 8012BD60 8012BDD0 8012BDF0 80076054
00000027 00080000 01000000 8012BEC0 8012BF10 8012BF30 8012BF54 80076054
00000028 00080000 01000000 8012C118 8012C180 8012C184 8012C1A4 80076054
00000025 00081073 01000000 8012C444 8012C530 8012C550 8012C570 80076054
00000127 001A0011 12000000 8012CEC4 00000000 8012D5A4 8012D6E4 80076054
00000128 001A0011 12000000 8012CFCC 00000000 8012D604 8012D75C 80076054
00000128 001A0011 12000000 8012CF3C 00000000 8012D5E4 8012D734 80076054
00000129 001A0011 12000000 8012D2BC 00000000 8012D684 8012D7FC 80076054
00000129 001A0011 12000000 8012D14C 00000000 8012D664 8012D7D4 80076054
0000012A 001A0411 12000000 8012CF00 00000000 8012D5C4 8012D70C 80076054
0000012B 001A0411 12000000 8012D0D4 00000000 8012D644 8012D7AC 80076054
0000012B 001A0411 12000000 8012D044 00000000 8012D624 8012D784 80076054

It goes on until 00000139 for yoshi. It generally starts at 00000127 for all the other Characters. Yoshi is the one that is different because he also has shield stuff. The shield stuff are the 00000025, FFFFFFFF, 00000027, and 00000028, and 00000025 code blocks. These all affect Yoshi's shield in various ways. I believe this is where it is told to look for reference data for shield and specials. If these addresses are swapped then it swaps the functionality to whatever you have it look for, such as making shield into egglay. Some characters like Kirby for example have a TON of these code blocks because it has to define where to look for all of his hats.

There's also a little bit of code above this after the previous character, I zeroed it and didn't notice anything happen, but maybe it affected the previous character (Samus) instead idk.
 

Acryte

Smash Ace
Joined
Mar 30, 2005
Messages
986
Yea I haven't messed with it much yet because I've been pretty busy the last 2 days (even though I really want to lol) but I plan on testing stuff out over the next few days. Hopefully this is just what is needed to get Yoshi's jump out of shield working. Let's say there is a part of it that is responsible for making Yoshi not able to jump when shielding, we would then remove said part of the code that it references or make it stop short of that part of it.
 

Acryte

Smash Ace
Joined
Mar 30, 2005
Messages
986
Yea I know, above I talked about that, he can jump out until the texture pops out and then it stops him at some point (most likely right before texture load). Holding shield isn't the problem, its that at some point it makes Yoshi not able to.

EDIT: LOL. It must be possible ... I did the opposite -_- I removed Yoshi's ability to jump out of shield before texture pop. I changed address 3C98A0 to 80076054

EDIT2: It must be in the address before that. I changed that one instead to 80076054 and now Yoshi curls in a ball but never pops the texture. He is able to jump out. Problem is that he doesn't have most of his shield data loaded so he doesn't slide on hits, he doesn't take shield damage, and he can't cancel out of it by releasing trigger he has to jump, roll, spotdodge, or use UpB etc. uuugh and if you pop shield directly after an attack (its a different type of shielding) like spotdodge and hold the button, the shield loads and is normal... will mess with this more tomorrow. I'm going to bed.

Changing it to 8012C44C makes it instant shield break.
 

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
Editing/Adding Specific Interrupts


This is an excerpt of Yoshi's code for specials and shield at address 3C9810 in main.DOL, all the other characters are easy to find and are located in this general area of the DOL too.

00000025 00080000 01000000 8012B9A4 8012BA88 8012BB08 8012BB28 80076054
FFFFFFFF 000C0000 01000000 8012BC68 8012BD60 8012BDD0 8012BDF0 80076054
00000027 00080000 01000000 8012BEC0 8012BF10 8012BF30 8012BF54 80076054
00000028 00080000 01000000 8012C118 8012C180 8012C184 8012C1A4 80076054
00000025 00081073 01000000 8012C444 8012C530 8012C550 8012C570 80076054
00000127 001A0011 12000000 8012CEC4 00000000 8012D5A4 8012D6E4 80076054
00000128 001A0011 12000000 8012CFCC 00000000 8012D604 8012D75C 80076054
00000128 001A0011 12000000 8012CF3C 00000000 8012D5E4 8012D734 80076054
00000129 001A0011 12000000 8012D2BC 00000000 8012D684 8012D7FC 80076054
00000129 001A0011 12000000 8012D14C 00000000 8012D664 8012D7D4 80076054
0000012A 001A0411 12000000 8012CF00 00000000 8012D5C4 8012D70C 80076054
0000012B 001A0411 12000000 8012D0D4 00000000 8012D644 8012D7AC 80076054
0000012B 001A0411 12000000 8012D044 00000000 8012D624 8012D784 80076054
Replacing Sub/Action Interrupt Functions
What you found there is character specific sub/action coding. The blue is the subaction ID and the yellow is a pointer to interrupts coding for the move (actual address in ram not the dol offset). It's not that he's prevented from jumping, it's that he lacks that interrupt in his unique coding function for those actions. If you were to change them to instead point to the default interrupt coding that others use he could then jump OoS on all shield actions (as well as counterattack with A/B moves on powershield shield drop like others can). I looked up a few actions' interrupt functions and put them below:


Interrupts Coding for Actions
Code:
8008A22C    Wait
800C9E78    Dash
800CA478    Run
800CC6F4    Fall
800924B0    Guard On
80093C14    Guard Reflect
800927D0    Guard
80092A54    Guard Off
8012BA88    Guard On (Yoshi)
8012C530    Guard Reflect (Yoshi)
8012BD60    Guard (Yoshi)
8012BF10    Guard Off (Yoshi)
800E866C    Fox - Down-B Hold (Ground)
800E86BC    Fox - Down-B Hold (Air)
[collapse=Interrupts Coding for Actions (ASM)][collapse=Wait - (Action: 00E; Subaction: 002-006)]
Code:
8008A22C:  7C0802A6    mflr    r0
8008A230:  90010004    stw    r0,4(r1)
8008A234:  9421FFE8    stwu    r1,-24(r1)
8008A238:  93E10014    stw    r31,20(r1)
8008A23C:  7C7F1B78    mr    r31,r3
8008A240:  4800C055    bl    0x80096294    Side-B (Ground)
8008A244:  2C030000    cmpwi    r3,0
8008A248:  40820140    bne-    0x8008A388
8008A24C:  7FE3FB78    mr    r3,r31
8008A250:  4804C2C1    bl    0x800D6510    Up-B (Ground)
8008A254:  2C030000    cmpwi    r3,0
8008A258:  40820130    bne-    0x8008A388
8008A25C:  7FE3FB78    mr    r3,r31
8008A260:  4804C179    bl    0x800D63D8    Neutral-B (Ground)
8008A264:  2C030000    cmpwi    r3,0
8008A268:  40820120    bne-    0x8008A388
8008A26C:  7FE3FB78    mr    r3,r31
8008A270:  4804C205    bl    0x800D6474    Down-B (Ground)
8008A274:  2C030000    cmpwi    r3,0
8008A278:  40820110    bne-    0x8008A388
8008A27C:  7FE3FB78    mr    r3,r31
8008A280:  4804E2C5    bl    0x800D8544    Standing Grab
8008A284:  2C030000    cmpwi    r3,0
8008A288:  40820100    bne-    0x8008A388
8008A28C:  7FE3FB78    mr    r3,r31
8008A290:  48001A8D    bl    0x8008BD1C    F-Smash
8008A294:  2C030000    cmpwi    r3,0
8008A298:  408200F0    bne-    0x8008A388
8008A29C:  7FE3FB78    mr    r3,r31
8008A2A0:  480022E9    bl    0x8008C588    U-Smash
8008A2A4:  2C030000    cmpwi    r3,0
8008A2A8:  408200E0    bne-    0x8008A388
8008A2AC:  7FE3FB78    mr    r3,r31
8008A2B0:  480025ED    bl    0x8008C89C    D-Smash
8008A2B4:  2C030000    cmpwi    r3,0
8008A2B8:  408200D0    bne-    0x8008A388
8008A2BC:  7FE3FB78    mr    r3,r31
8008A2C0:  480010F1    bl    0x8008B3B0    F-Tilt
8008A2C4:  2C030000    cmpwi    r3,0
8008A2C8:  408200C0    bne-    0x8008A388
8008A2CC:  7FE3FB78    mr    r3,r31
8008A2D0:  48001409    bl    0x8008B6D8    U-Tilt
8008A2D4:  2C030000    cmpwi    r3,0
8008A2D8:  408200B0    bne-    0x8008A388
8008A2DC:  7FE3FB78    mr    r3,r31
8008A2E0:  480015BD    bl    0x8008B89C    D-Tilt
8008A2E4:  2C030000    cmpwi    r3,0
8008A2E8:  408200A0    bne-    0x8008A388
8008A2EC:  7FE3FB78    mr    r3,r31
8008A2F0:  48000461    bl    0x8008A750    Jab
8008A2F4:  2C030000    cmpwi    r3,0
8008A2F8:  40820090    bne-    0x8008A388
8008A2FC:  7FE3FB78    mr    r3,r31
8008A300:  4800F1E9    bl    0x800994E8    Ground Dodge (Wait version with shield held req)
8008A304:  2C030000    cmpwi    r3,0
8008A308:  40820080    bne-    0x8008A388
8008A30C:  7FE3FB78    mr    r3,r31
8008A310:  48007495    bl    0x800917A4    Shield
8008A314:  2C030000    cmpwi    r3,0
8008A318:  40820070    bne-    0x8008A388
8008A31C:  7FE3FB78    mr    r3,r31
8008A320:  4805B1F5    bl    0x800E5514    ??? (used in Wait)
8008A324:  2C030000    cmpwi    r3,0
8008A328:  40820060    bne-    0x8008A388
8008A32C:  7FE3FB78    mr    r3,r31
8008A330:  4805425D    bl    0x800DE58C    Taunt
8008A334:  2C030000    cmpwi    r3,0
8008A338:  40820050    bne-    0x8008A388
8008A33C:  7FE3FB78    mr    r3,r31
8008A340:  480407D9    bl    0x800CAB18    Jump (Ground)
8008A344:  2C030000    cmpwi    r3,0
8008A348:  40820040    bne-    0x8008A388
8008A34C:  7FE3FB78    mr    r3,r31
8008A350:  4803F98D    bl    0x800C9CDC    Dash
8008A354:  2C030000    cmpwi    r3,0
8008A358:  40820030    bne-    0x8008A388
8008A35C:  7FE3FB78    mr    r3,r31
8008A360:  4804B805    bl    0x800D5B64    Crouch
8008A364:  2C030000    cmpwi    r3,0
8008A368:  40820020    bne-    0x8008A388
8008A36C:  7FE3FB78    mr    r3,r31
8008A370:  4803F0B5    bl    0x800C9424    Turn (Slow)
8008A374:  2C030000    cmpwi    r3,0
8008A378:  40820010    bne-    0x8008A388
8008A37C:  7FE3FB78    mr    r3,r31
8008A380:  4803ED31    bl    0x800C90B0    Walk
8008A384:  2C030000    cmpwi    r3,0
8008A388:  8001001C    lwz    r0,28(r1)
8008A38C:  83E10014    lwz    r31,20(r1)
8008A390:  38210018    addi    r1,r1,24
8008A394:  7C0803A6    mtlr    r0
8008A398:  4E800020    blr
[/collapse]

[collapse=Dash - (Action: 014; Subaction: 00C]
Code:
800C9E78:  7C0802A6    mflr    r0
800C9E7C:  90010004    stw    r0,4(r1)
800C9E80:  9421FFD8    stwu    r1,-40(r1)
800C9E84:  93E10024    stw    r31,36(r1)
800C9E88:  93C10020    stw    r30,32(r1)
800C9E8C:  7C7E1B78    mr    r30,r3
800C9E90:  8063002C    lwz    r3,44(r3)
800C9E94:  80032344    lwz    r0,9028(r3)
800C9E98:  3BE30000    addi    r31,r3,0
800C9E9C:  2C000000    cmpwi    r0,0
800C9EA0:  418200A4    beq-    0x800c9f44
800C9EA4:  806DAEB4    lwz    r3,-20812(r13)
800C9EA8:  C03F0894    lfs    f1,2196(r31)
800C9EAC:  C0030044    lfs    f0,68(r3)
800C9EB0:  FC010040    fcmpo    cr0,f1,f0
800C9EB4:  4C401382    cror    2,0,2
800C9EB8:  4082008C    bne-    0x800c9f44
800C9EBC:  7FC3F378    mr    r3,r30
800C9EC0:  4BFCC3D5    bl    0x80096294    Side-B (Ground)
800C9EC4:  2C030000    cmpwi    r3,0
800C9EC8:  40820280    bne-    0x800ca148
800C9ECC:  801F1974    lwz    r0,6516(r31)
800C9ED0:  28000000    cmplwi    r0,0
800C9ED4:  41820024    beq-    0x800c9ef8
800C9ED8:  7FE3FB78    mr    r3,r31
800C9EDC:  4BFCACCD    bl    0x80094ba8    ??? (used in Dash)
800C9EE0:  2C030000    cmpwi    r3,0
800C9EE4:  41820014    beq-    0x800c9ef8
800C9EE8:  387E0000    addi    r3,r30,0
800C9EEC:  3880006C    li    r4,108
800C9EF0:  4BFCB659    bl    0x80095548
800C9EF4:  48000254    b    0x800ca148
800C9EF8:  7FC3F378    mr    r3,r30
800C9EFC:  4800E6F1    bl    0x800d85ec    Dash Grab
800C9F00:  2C030000    cmpwi    r3,0
800C9F04:  40820268    bne-    0x800ca16c
800C9F08:  7FC3F378    mr    r3,r30
800C9F0C:  4BFC1F61    bl    0x8008be6c    F-Smash (Dash version with input window)
800C9F10:  2C030000    cmpwi    r3,0
800C9F14:  40820234    bne-    0x800ca148
800C9F18:  806DAEB4    lwz    r3,-20812(r13)
800C9F1C:  C03F0894    lfs    f1,2196(r31)
800C9F20:  C0030048    lfs    f0,72(r3)
800C9F24:  FC010040    fcmpo    cr0,f1,f0
800C9F28:  4C401382    cror    2,0,2
800C9F2C:  408201DC    bne-    0x800ca108
800C9F30:  7FC3F378    mr    r3,r30
800C9F34:  4BFCF085    bl    0x80098fb8    Roll (Dash version with input window)
800C9F38:  2C030000    cmpwi    r3,0
800C9F3C:  4082020C    bne-    0x800ca148
800C9F40:  480001C8    b    0x800ca108
800C9F44:  806DAEB4    lwz    r3,-20812(r13)
800C9F48:  C03F0894    lfs    f1,2196(r31)
800C9F4C:  C003004C    lfs    f0,76(r3)
800C9F50:  FC010040    fcmpo    cr0,f1,f0
800C9F54:  4C401382    cror    2,0,2
800C9F58:  40820104    bne-    0x800ca05c
800C9F5C:  7FC3F378    mr    r3,r30
800C9F60:  4BFCC335    bl    0x80096294    ??? (used in Dash)
800C9F64:  2C030000    cmpwi    r3,0
800C9F68:  408201E0    bne-    0x800ca148
800C9F6C:  7FC3F378    mr    r3,r30
800C9F70:  4800E67D    bl    0x800d85ec    ??? (used in Dash)
800C9F74:  2C030000    cmpwi    r3,0
800C9F78:  408201F4    bne-    0x800ca16c
800C9F7C:  7FC3F378    mr    r3,r30
800C9F80:  4BFC11BD    bl    0x8008b13c    Dash Attack
800C9F84:  2C030000    cmpwi    r3,0
800C9F88:  41820010    beq-    0x800c9f98
800C9F8C:  7FC3F378    mr    r3,r30
800C9F90:  4BFC134D    bl    0x8008b2dc    ??? (used in Dash/Run)
800C9F94:  480001D8    b    0x800ca16c
800C9F98:  C05F0620    lfs    f2,1568(r31)
800C9F9C:  C03F002C    lfs    f1,44(r31)
800C9FA0:  C00294B8    lfs    f0,-27464(r2)
800C9FA4:  EC220072    fmuls    f1,f2,f1
800C9FA8:  FC010040    fcmpo    cr0,f1,f0
800C9FAC:  40800080    bge-    0x800ca02c
800C9FB0:  809E002C    lwz    r4,44(r30)
800C9FB4:  C0240620    lfs    f1,1568(r4)
800C9FB8:  FC010040    fcmpo    cr0,f1,f0
800C9FBC:  40800008    bge-    0x800c9fc4
800C9FC0:  FC200850    fneg    f1,f1
800C9FC4:  80ADAEB4    lwz    r5,-20812(r13)
800C9FC8:  C005003C    lfs    f0,60(r5)
800C9FCC:  FC010040    fcmpo    cr0,f1,f0
800C9FD0:  4C411382    cror    2,1,2
800C9FD4:  4082004C    bne-    0x800ca020
800C9FD8:  88640670    lbz    r3,1648(r4)
800C9FDC:  80050040    lwz    r0,64(r5)
800C9FE0:  7C030000    cmpw    r3,r0
800C9FE4:  4080003C    bge-    0x800ca020
800C9FE8:  C0440620    lfs    f2,1568(r4)
800C9FEC:  C024002C    lfs    f1,44(r4)
800C9FF0:  C00294B8    lfs    f0,-27464(r2)
800C9FF4:  EC220072    fmuls    f1,f2,f1
800C9FF8:  FC010040    fcmpo    cr0,f1,f0
800C9FFC:  40800010    bge-    0x800ca00c
800CA000:  7FC3F378    mr    r3,r30
800CA004:  4BFFF8B9    bl    0x800c98bc    Turn (Fast)
800CA008:  48000010    b    0x800ca018
800CA00C:  387E0000    addi    r3,r30,0
800CA010:  38800001    li    r4,1
800CA014:  4BFFFD55    bl    0x800c9d68    ??? (used in Dash)
800CA018:  38000001    li    r0,1
800CA01C:  48000008    b    0x800ca024
800CA020:  38000000    li    r0,0
800CA024:  2C000000    cmpwi    r0,0
800CA028:  40820120    bne-    0x800ca148
800CA02C:  808DAEB4    lwz    r4,-20812(r13)
800CA030:  7FC3F378    mr    r3,r30
800CA034:  C01F0894    lfs    f0,2196(r31)
800CA038:  C024004C    lfs    f1,76(r4)
800CA03C:  EC010028    fsubs    f0,f1,f0
800CA040:  FC00001E    fctiwz    f0,f0
800CA044:  D8010018    stfd    f0,24(r1)
800CA048:  8081001C    lwz    r4,28(r1)
800CA04C:  4BFC77E5    bl    0x80091830    Shield (Dash version with delay timer requirement)
800CA050:  2C030000    cmpwi    r3,0
800CA054:  408200F4    bne-    0x800ca148
800CA058:  480000B0    b    0x800ca108
800CA05C:  7FC3F378    mr    r3,r30
800CA060:  4800E58D    bl    0x800d85ec    ??? (used in Dash)
800CA064:  2C030000    cmpwi    r3,0
800CA068:  40820104    bne-    0x800ca16c
800CA06C:  809E002C    lwz    r4,44(r30)
800CA070:  C00294B8    lfs    f0,-27464(r2)
800CA074:  C0240620    lfs    f1,1568(r4)
800CA078:  FC010040    fcmpo    cr0,f1,f0
800CA07C:  40800008    bge-    0x800ca084
800CA080:  FC200850    fneg    f1,f1
800CA084:  80ADAEB4    lwz    r5,-20812(r13)
800CA088:  C005003C    lfs    f0,60(r5)
800CA08C:  FC010040    fcmpo    cr0,f1,f0
800CA090:  4C411382    cror    2,1,2
800CA094:  4082004C    bne-    0x800ca0e0
800CA098:  88640670    lbz    r3,1648(r4)
800CA09C:  80050040    lwz    r0,64(r5)
800CA0A0:  7C030000    cmpw    r3,r0
800CA0A4:  4080003C    bge-    0x800ca0e0
800CA0A8:  C0440620    lfs    f2,1568(r4)
800CA0AC:  C024002C    lfs    f1,44(r4)
800CA0B0:  C00294B8    lfs    f0,-27464(r2)
800CA0B4:  EC220072    fmuls    f1,f2,f1
800CA0B8:  FC010040    fcmpo    cr0,f1,f0
800CA0BC:  40800010    bge-    0x800ca0cc
800CA0C0:  7FC3F378    mr    r3,r30
800CA0C4:  4BFFF7F9    bl    0x800c98bc    ??? (used in Dash)
800CA0C8:  48000010    b    0x800ca0d8
800CA0CC:  387E0000    addi    r3,r30,0
800CA0D0:  38800001    li    r4,1
800CA0D4:  4BFFFC95    bl    0x800c9d68    ??? (used in Dash)
800CA0D8:  38000001    li    r0,1
800CA0DC:  48000008    b    0x800ca0e4
800CA0E0:  38000000    li    r0,0
800CA0E4:  2C000000    cmpwi    r0,0
800CA0E8:  40820060    bne-    0x800ca148
800CA0EC:  7FC3F378    mr    r3,r30
800CA0F0:  4BFC76B5    bl    0x800917a4    Shield
800CA0F4:  2C030000    cmpwi    r3,0
800CA0F8:  41820010    beq-    0x800ca108
800CA0FC:  7FC3F378    mr    r3,r30
800CA100:  4BFC77F5    bl    0x800918f4    ??? (used in Dash/Run)
800CA104:  48000044    b    0x800ca148
800CA108:  7FC3F378    mr    r3,r30
800CA10C:  48014481    bl    0x800de58c    ??? (used in Dash)
800CA110:  2C030000    cmpwi    r3,0
800CA114:  40820034    bne-    0x800ca148
800CA118:  7FC3F378    mr    r3,r30
800CA11C:  48000AA5    bl    0x800cabc0    Jump (Ground - Dash/Run version with lower tapjump threshold)
800CA120:  2C030000    cmpwi    r3,0
800CA124:  40820048    bne-    0x800ca16c
800CA128:  801F2200    lwz    r0,8704(r31)
800CA12C:  28000000    cmplwi    r0,0
800CA130:  4182003C    beq-    0x800ca16c
800CA134:  7FC3F378    mr    r3,r30
800CA138:  48000101    bl    0x800ca238    Run
800CA13C:  2C030000    cmpwi    r3,0
800CA140:  4082002C    bne-    0x800ca16c
800CA144:  48000028    b    0x800ca16c
800CA148:  7FE3FB78    mr    r3,r31
800CA14C:  4BFBA64D    bl    0x80084798
800CA150:  806DAEB4    lwz    r3,-20812(r13)
800CA154:  C05F00EC    lfs    f2,236(r31)
800CA158:  C0030054    lfs    f0,84(r3)
800CA15C:  EC020032    fmuls    f0,f2,f0
800CA160:  FC000050    fneg    f0,f0
800CA164:  EC00107A    fmadds    f0,f0,f1,f2
800CA168:  D01F00EC    stfs    f0,236(r31)
800CA16C:  8001002C    lwz    r0,44(r1)
800CA170:  83E10024    lwz    r31,36(r1)
800CA174:  83C10020    lwz    r30,32(r1)
800CA178:  38210028    addi    r1,r1,40
800CA17C:  7C0803A6    mtlr    r0
800CA180:  4E800020    blr
[/collapse]

[collapse=Run - (Action: 015; Subaction: 00D)]
Code:
800CA478:  7C0802A6    mflr    r0
800CA47C:  90010004    stw    r0,4(r1)
800CA480:  9421FFE8    stwu    r1,-24(r1)
800CA484:  93E10014    stw    r31,20(r1)
800CA488:  93C10010    stw    r30,16(r1)
800CA48C:  7C7E1B78    mr    r30,r3
800CA490:  83E3002C    lwz    r31,44(r3)
800CA494:  4BFCBE01    bl    0x80096294    Side-B (Ground)
800CA498:  2C030000    cmpwi    r3,0
800CA49C:  408200F0    bne-    0x800ca58c
800CA4A0:  7FC3F378    mr    r3,r30
800CA4A4:  4800C06D    bl    0x800d6510    Up-B (Ground)
800CA4A8:  2C030000    cmpwi    r3,0
800CA4AC:  408200E0    bne-    0x800ca58c
800CA4B0:  7FC3F378    mr    r3,r30
800CA4B4:  4800BF25    bl    0x800d63d8    Neutral-B (Ground)
800CA4B8:  2C030000    cmpwi    r3,0
800CA4BC:  408200D0    bne-    0x800ca58c
800CA4C0:  7FC3F378    mr    r3,r30
800CA4C4:  4800BFB1    bl    0x800d6474    Down-B (Ground)
800CA4C8:  2C030000    cmpwi    r3,0
800CA4CC:  408200C0    bne-    0x800ca58c
800CA4D0:  7FC3F378    mr    r3,r30
800CA4D4:  4800E119    bl    0x800d85ec    Dash Grab
800CA4D8:  2C030000    cmpwi    r3,0
800CA4DC:  408200B0    bne-    0x800ca58c
800CA4E0:  7FC3F378    mr    r3,r30
800CA4E4:  4BFC0C59    bl    0x8008b13c    Dash Attack
800CA4E8:  2C030000    cmpwi    r3,0
800CA4EC:  41820010    beq-    0x800ca4fc
800CA4F0:  7FC3F378    mr    r3,r30
800CA4F4:  4BFC0DE9    bl    0x8008b2dc    ??? (used in Dash/Run)
800CA4F8:  48000094    b    0x800ca58c
800CA4FC:  7FC3F378    mr    r3,r30
800CA500:  4BFC72A5    bl    0x800917a4    Shield
800CA504:  2C030000    cmpwi    r3,0
800CA508:  41820020    beq-    0x800ca528
800CA50C:  808DAEB4    lwz    r4,-20812(r13)
800CA510:  7FC3F378    mr    r3,r30
800CA514:  80840410    lwz    r4,1040(r4)
800CA518:  4BFC73D1    bl    0x800918e8    ??? (used in Run)
800CA51C:  7FC3F378    mr    r3,r30
800CA520:  4BFC73D5    bl    0x800918f4    ??? (used in Dash/Run)
800CA524:  48000068    b    0x800ca58c
800CA528:  7FC3F378    mr    r3,r30
800CA52C:  48014061    bl    0x800de58c    Taunt
800CA530:  2C030000    cmpwi    r3,0
800CA534:  40820058    bne-    0x800ca58c
800CA538:  7FC3F378    mr    r3,r30
800CA53C:  48000685    bl    0x800cabc0    Jump (Ground - Dash/Run version with lower tapjump threshold)
800CA540:  2C030000    cmpwi    r3,0
800CA544:  40820048    bne-    0x800ca58c
800CA548:  C03F2340    lfs    f1,9024(r31)
800CA54C:  C00294C0    lfs    f0,-27456(r2)
800CA550:  FC010040    fcmpo    cr0,f1,f0
800CA554:  4C401382    cror    2,0,2
800CA558:  40820014    bne-    0x800ca56c
800CA55C:  7FC3F378    mr    r3,r30
800CA560:  4BFFF429    bl    0x800c9988    ??? (used in Run)
800CA564:  2C030000    cmpwi    r3,0
800CA568:  40820024    bne-    0x800ca58c
800CA56C:  C03F2340    lfs    f1,9024(r31)
800CA570:  C00294C0    lfs    f0,-27456(r2)
800CA574:  FC010040    fcmpo    cr0,f1,f0
800CA578:  4C401382    cror    2,0,2
800CA57C:  40820010    bne-    0x800ca58c
800CA580:  7FC3F378    mr    r3,r30
800CA584:  48000289    bl    0x800ca80c    Run Brake
800CA588:  2C030000    cmpwi    r3,0
800CA58C:  8001001C    lwz    r0,28(r1)
800CA590:  83E10014    lwz    r31,20(r1)
800CA594:  83C10010    lwz    r30,16(r1)
800CA598:  38210018    addi    r1,r1,24
800CA59C:  7C0803A6    mtlr    r0
800CA5A0:  4E800020    blr
[/collapse]

[collapse=Fall - (Action: 01D; Subaction: 014)]
Code:
800CC6F4:  7C0802A6    mflr    r0
800CC6F8:  90010004    stw    r0,4(r1)
800CC6FC:  9421FFE8    stwu    r1,-24(r1)
800CC700:  93E10014    stw    r31,20(r1)
800CC704:  7C7F1B78    mr    r31,r3
800CC708:  4BFC9CA9    bl    0x800963b0    All Specials (Air)
800CC70C:  2C030000    cmpwi    r3,0
800CC710:  4182000C    beq-    0x800cc71c
800CC714:  38600001    li    r3,1
800CC718:  480000FC    b    0x800cc814
800CC71C:  387F0000    addi    r3,r31,0
800CC720:  38800000    li    r4,0
800CC724:  4BFC8959    bl    0x8009507c    Item Throw (Air)
800CC728:  2C030000    cmpwi    r3,0
800CC72C:  4182000C    beq-    0x800cc738
800CC730:  38600001    li    r3,1
800CC734:  480000E0    b    0x800cc814
800CC738:  7FE3FB78    mr    r3,r31
800CC73C:  4800A579    bl    0x800d6cb4    ??? (used in Fall)
800CC740:  2C030000    cmpwi    r3,0
800CC744:  4182000C    beq-    0x800cc750
800CC748:  38600001    li    r3,1
800CC74C:  480000C8    b    0x800cc814
800CC750:  7FE3FB78    mr    r3,r31
800CC754:  4BFF7005    bl    0x800c3758    Z-Air
800CC758:  2C030000    cmpwi    r3,0
800CC75C:  4182000C    beq-    0x800cc768
800CC760:  38600001    li    r3,1
800CC764:  480000B0    b    0x800cc814
800CC768:  7FE3FB78    mr    r3,r31
800CC76C:  4BFCD041    bl    0x800997ac    Air Dodge
800CC770:  2C030000    cmpwi    r3,0
800CC774:  4182000C    beq-    0x800cc780
800CC778:  38600001    li    r3,1
800CC77C:  48000098    b    0x800cc814
800CC780:  7FE3FB78    mr    r3,r31
800CC784:  4BFC033D    bl    0x8008cac0    N/F/B/U/D-Air
800CC788:  2C030000    cmpwi    r3,0
800CC78C:  4182000C    beq-    0x800cc798
800CC790:  38600001    li    r3,1
800CC794:  48000080    b    0x800cc814
800CC798:  7FE3FB78    mr    r3,r31
800CC79C:  4800A475    bl    0x800d6c10    ??? (used in Fall)
800CC7A0:  2C030000    cmpwi    r3,0
800CC7A4:  4182000C    beq-    0x800cc7b0
800CC7A8:  38600001    li    r3,1
800CC7AC:  48000068    b    0x800cc814
800CC7B0:  7FE3FB78    mr    r3,r31
800CC7B4:  48002305    bl    0x800ceab8    ??? (used in Fall)
800CC7B8:  2C030000    cmpwi    r3,0
800CC7BC:  4182000C    beq-    0x800cc7c8
800CC7C0:  38600001    li    r3,1
800CC7C4:  48000050    b    0x800cc814
800CC7C8:  7FE3FB78    mr    r3,r31
800CC7CC:  4804EC4D    bl    0x8011b418    ??? (used in Fall)
800CC7D0:  2C030000    cmpwi    r3,0
800CC7D4:  4182000C    beq-    0x800cc7e0
800CC7D8:  38600001    li    r3,1
800CC7DC:  48000038    b    0x800cc814
800CC7E0:  7FE3FB78    mr    r3,r31
800CC7E4:  4BFFECD5    bl    0x800cb4b8    Jump (Air)
800CC7E8:  2C030000    cmpwi    r3,0
800CC7EC:  4182000C    beq-    0x800cc7f8
800CC7F0:  38600001    li    r3,1
800CC7F4:  48000020    b    0x800cc814
800CC7F8:  7FE3FB78    mr    r3,r31
800CC7FC:  4804ECA1    bl    0x8011b49c    ??? (used in Fall)
800CC800:  2C030000    cmpwi    r3,0
800CC804:  4182000C    beq-    0x800cc810
800CC808:  38600001    li    r3,1
800CC80C:  48000008    b    0x800cc814
800CC810:  38600000    li    r3,0
800CC814:  8001001C    lwz    r0,28(r1)
800CC818:  83E10014    lwz    r31,20(r1)
800CC81C:  38210018    addi    r1,r1,24
800CC820:  7C0803A6    mtlr    r0
800CC824:  4E800020    blr
[/collapse]

[collapse=Guard On - (Action: 0B2; Subaction: FFF)]
Code:
800924B0:  7C0802A6    mflr    r0
800924B4:  90010004    stw    r0,4(r1)
800924B8:  9421FFE8    stwu    r1,-24(r1)
800924BC:  93E10014    stw    r31,20(r1)
800924C0:  93C10010    stw    r30,16(r1)
800924C4:  7C7E1B78    mr    r30,r3
800924C8:  83E3002C    lwz    r31,44(r3)
800924CC:  48000459    bl    0x80092924
800924D0:  801F234C    lwz    r0,9036(r31)
800924D4:  2C000000    cmpwi    r0,0
800924D8:  41820014    beq-    0x800924ec
800924DC:  C03F2350    lfs    f1,9040(r31)
800924E0:  C0028B50    lfs    f0,-29872(r2)
800924E4:  FC010000    fcmpu    cr0,f1,f0
800924E8:  4182001C    beq-    0x80092504
800924EC:  881F221B    lbz    r0,8731(r31)
800924F0:  5400CFFF    rlwinm.    r0,r0,25,31,31
800924F4:  40820020    bne-    0x80092514
800924F8:  881F2218    lbz    r0,8728(r31)
800924FC:  5400E7FF    rlwinm.    r0,r0,28,31,31
80092500:  40820014    bne-    0x80092514
80092504:  7FC3F378    mr    r3,r30
80092508:  48000439    bl    0x80092940
8009250C:  38000001    li    r0,1
80092510:  4800001C    b    0x8009252c
80092514:  807F235C    lwz    r3,9052(r31)
80092518:  2C030000    cmpwi    r3,0
8009251C:  4182000C    beq-    0x80092528
80092520:  3803FFFF    subi    r0,r3,1
80092524:  901F235C    stw    r0,9052(r31)
80092528:  38000000    li    r0,0
8009252C:  2C000000    cmpwi    r0,0
80092530:  40820080    bne-    0x800925b0
80092534:  7FC3F378    mr    r3,r30
80092538:  48000EB5    bl    0x800933EC    Guard Reflect
8009253C:  2C030000    cmpwi    r3,0
80092540:  40820070    bne-    0x800925b0
80092544:  7FC3F378    mr    r3,r30
80092548:  48002969    bl    0x80094EB0    ??? (used in Guard On/Guard)
8009254C:  2C030000    cmpwi    r3,0
80092550:  40820060    bne-    0x800925b0
80092554:  7FC3F378    mr    r3,r30
80092558:  48007009    bl    0x80099560    Ground Dodge (Guard version w/o shield held req)
8009255C:  2C030000    cmpwi    r3,0
80092560:  40820050    bne-    0x800925b0
80092564:  7FC3F378    mr    r3,r30
80092568:  48006969    bl    0x80098ED0    Roll Dodge
8009256C:  2C030000    cmpwi    r3,0
80092570:  40820040    bne-    0x800925b0
80092574:  7FC3F378    mr    r3,r30
80092578:  480461D9    bl    0x800D8750    ??? (used in Guard On)
8009257C:  2C030000    cmpwi    r3,0
80092580:  40820030    bne-    0x800925b0
80092584:  7FC3F378    mr    r3,r30
80092588:  48045FBD    bl    0x800D8544    Standing Grab
8009258C:  2C030000    cmpwi    r3,0
80092590:  40820020    bne-    0x800925b0
80092594:  7FC3F378    mr    r3,r30
80092598:  480386D5    bl    0x800CAC6C    Jump (Ground - Guard version?)
8009259C:  2C030000    cmpwi    r3,0
800925A0:  40820010    bne-    0x800925b0
800925A4:  7FC3F378    mr    r3,r30
800925A8:  4800782D    bl    0x80099DD4    ??? (used in Guard On/Guard)
800925AC:  2C030000    cmpwi    r3,0
800925B0:  8001001C    lwz    r0,28(r1)
800925B4:  83E10014    lwz    r31,20(r1)
800925B8:  83C10010    lwz    r30,16(r1)
800925BC:  38210018    addi    r1,r1,24
800925C0:  7C0803A6    mtlr    r0
800925C4:  4E800020    blr
[/collapse]

[collapse=Guard On (Yoshi) - (Action: 155; Subaction: 025)]
Code:
8012BA88:  7C0802A6    mflr    r0
8012BA8C:  90010004    stw    r0,4(r1)
8012BA90:  9421FFE8    stwu    r1,-24(r1)
8012BA94:  93E10014    stw    r31,20(r1)
8012BA98:  7C7F1B78    mr    r31,r3
8012BA9C:  4BF67951    bl    0x800933EC    Guard Reflect
8012BAA0:  2C030000    cmpwi    r3,0
8012BAA4:  40820050    bne-    0x8012baf4
8012BAA8:  7FE3FB78    mr    r3,r31
8012BAAC:  4BF69405    bl    0x80094EB0    ??? (used in Guard On/Guard)
8012BAB0:  2C030000    cmpwi    r3,0
8012BAB4:  40820040    bne-    0x8012baf4
8012BAB8:  7FE3FB78    mr    r3,r31
8012BABC:  4BF6DA2D    bl    0x800994E8    Ground Dodge (Wait version with shield held req)
8012BAC0:  2C030000    cmpwi    r3,0
8012BAC4:  40820030    bne-    0x8012baf4
8012BAC8:  7FE3FB78    mr    r3,r31
8012BACC:  4BF6D405    bl    0x80098ED0    Roll Dodge
8012BAD0:  2C030000    cmpwi    r3,0
8012BAD4:  40820020    bne-    0x8012baf4
8012BAD8:  7FE3FB78    mr    r3,r31
8012BADC:  4BFACA69    bl    0x800D8544    Standing Grab
8012BAE0:  2C030000    cmpwi    r3,0
8012BAE4:  40820010    bne-    0x8012baf4
8012BAE8:  7FE3FB78    mr    r3,r31
8012BAEC:  4BF6E2E9    bl    0x80099DD4    ??? (used in Guard On)
8012BAF0:  2C030000    cmpwi    r3,0
8012BAF4:  8001001C    lwz    r0,28(r1)
8012BAF8:  83E10014    lwz    r31,20(r1)
8012BAFC:  38210018    addi    r1,r1,24
8012BB00:  7C0803A6    mtlr    r0
8012BB04:  4E800020    blr
[/collapse]

[collapse=Guard Reflect - (Action: 0B6; Subaction: FFF)]
Code:
80093C14:  7C0802A6    mflr    r0
80093C18:  90010004    stw    r0,4(r1)
80093C1C:  9421FFD8    stwu    r1,-40(r1)
80093C20:  93E10024    stw    r31,36(r1)
80093C24:  93C10020    stw    r30,32(r1)
80093C28:  7C7E1B78    mr    r30,r3
80093C2C:  8083002C    lwz    r4,44(r3)
80093C30:  8004065C    lwz    r0,1628(r4)
80093C34:  54000001    rlwinm.    r0,r0,0,0,0
80093C38:  4082000C    bne-    0x80093c44
80093C3C:  38000001    li    r0,1
80093C40:  9004234C    stw    r0,9036(r4)
80093C44:  8004234C    lwz    r0,9036(r4)
80093C48:  2C000000    cmpwi    r0,0
80093C4C:  41820014    beq-    0x80093c60
80093C50:  C0242350    lfs    f1,9040(r4)
80093C54:  C0028B50    lfs    f0,-29872(r2)
80093C58:  FC010000    fcmpu    cr0,f1,f0
80093C5C:  4182001C    beq-    0x80093c78
80093C60:  8804221B    lbz    r0,8731(r4)
80093C64:  5400CFFF    rlwinm.    r0,r0,25,31,31
80093C68:  40820084    bne-    0x80093cec
80093C6C:  88042218    lbz    r0,8728(r4)
80093C70:  5400E7FF    rlwinm.    r0,r0,28,31,31
80093C74:  40820078    bne-    0x80093cec
80093C78:  83FE002C    lwz    r31,44(r30)
80093C7C:  889F221F    lbz    r4,8735(r31)
80093C80:  887F000C    lbz    r3,12(r31)
80093C84:  C03F1998    lfs    f1,6552(r31)
80093C88:  5484EFFE    rlwinm    r4,r4,29,31,31
80093C8C:  4BFAA3FD    bl    0x8003e088
80093C90:  801F0004    lwz    r0,4(r31)
80093C94:  2C00000E    cmpwi    r0,14
80093C98:  41820008    beq-    0x80093ca0
80093C9C:  48000010    b    0x80093cac
80093CA0:  7FC3F378    mr    r3,r30
80093CA4:  4809816D    bl    0x8012be10
80093CA8:  4800003C    b    0x80093ce4
80093CAC:  C0228B50    lfs    f1,-29872(r2)
80093CB0:  7FC3F378    mr    r3,r30
80093CB4:  83FE002C    lwz    r31,44(r30)
80093CB8:  388000B4    li    r4,180
80093CBC:  FC600890    fmr    f3,f1
80093CC0:  C0428B80    lfs    f2,-29824(r2)
80093CC4:  38A00000    li    r5,0
80093CC8:  38C00000    li    r6,0
80093CCC:  4BFD55BD    bl    0x80069288
80093CD0:  387F0000    addi    r3,r31,0
80093CD4:  3880007F    li    r4,127
80093CD8:  38A0007F    li    r5,127
80093CDC:  38C00040    li    r6,64
80093CE0:  4BFF41C1    bl    0x80087ea0
80093CE4:  38000001    li    r0,1
80093CE8:  4800001C    b    0x80093d04
80093CEC:  8064235C    lwz    r3,9052(r4)
80093CF0:  2C030000    cmpwi    r3,0
80093CF4:  4182000C    beq-    0x80093d00
80093CF8:  3803FFFF    subi    r0,r3,1
80093CFC:  9004235C    stw    r0,9052(r4)
80093D00:  38000000    li    r0,0
80093D04:  2C000000    cmpwi    r0,0
80093D08:  40820070    bne-    0x80093d78
80093D0C:  7FC3F378    mr    r3,r30
80093D10:  480011A1    bl    0x80094EB0    ??? (used in Guard On/Guard)
80093D14:  2C030000    cmpwi    r3,0
80093D18:  40820060    bne-    0x80093d78
80093D1C:  7FC3F378    mr    r3,r30
80093D20:  48005841    bl    0x80099560    Ground Dodge (Guard version w/o shield held req)
80093D24:  2C030000    cmpwi    r3,0
80093D28:  40820050    bne-    0x80093d78
80093D2C:  7FC3F378    mr    r3,r30
80093D30:  480051A1    bl    0x80098ED0    Roll Dodge
80093D34:  2C030000    cmpwi    r3,0
80093D38:  40820040    bne-    0x80093d78
80093D3C:  7FC3F378    mr    r3,r30
80093D40:  48044A11    bl    0x800D8750    ??? (used in Guard On)
80093D44:  2C030000    cmpwi    r3,0
80093D48:  40820030    bne-    0x80093d78
80093D4C:  7FC3F378    mr    r3,r30
80093D50:  480447F5    bl    0x800D8544    Standing Grab
80093D54:  2C030000    cmpwi    r3,0
80093D58:  40820020    bne-    0x80093d78
80093D5C:  7FC3F378    mr    r3,r30
80093D60:  48036F0D    bl    0x800CAC6C    Jump (Ground - Guard version?)
80093D64:  2C030000    cmpwi    r3,0
80093D68:  40820010    bne-    0x80093d78
80093D6C:  7FC3F378    mr    r3,r30
80093D70:  48006065    bl    0x80099DD4    ??? (used in Guard On/Guard)
80093D74:  2C030000    cmpwi    r3,0
80093D78:  8001002C    lwz    r0,44(r1)
80093D7C:  83E10024    lwz    r31,36(r1)
80093D80:  83C10020    lwz    r30,32(r1)
80093D84:  38210028    addi    r1,r1,40
80093D88:  7C0803A6    mtlr    r0
80093D8C:  4E800020    blr
[/collapse]

[collapse=Guard Reflect (Yoshi) - (Action: 159; Subaction: 025)]
Code:
8012C530:  7C0802A6    mflr    r0
8012C534:  90010004    stw    r0,4(r1)
8012C538:  9421FFF8    stwu    r1,-8(r1)
8012C53C:  4BF676D9    bl    0x80093C14    universal Guard Reflect function (JCable)
8012C540:  8001000C    lwz    r0,12(r1)
8012C544:  38210008    addi    r1,r1,8
8012C548:  7C0803A6    mtlr    r0
8012C54C:  4E800020    blr
[/collapse]

[collapse=Guard - (Action: 0B3; Subaction: FFF)]
Code:
800927D0:  7C0802A6    mflr    r0
800927D4:  90010004    stw    r0,4(r1)
800927D8:  9421FFE8    stwu    r1,-24(r1)
800927DC:  93E10014    stw    r31,20(r1)
800927E0:  93C10010    stw    r30,16(r1)
800927E4:  7C7E1B78    mr    r30,r3
800927E8:  83E3002C    lwz    r31,44(r3)
800927EC:  48000139    bl    0x80092924
800927F0:  801F234C    lwz    r0,9036(r31)
800927F4:  2C000000    cmpwi    r0,0
800927F8:  41820014    beq-    0x8009280c
800927FC:  C03F2350    lfs    f1,9040(r31)
80092800:  C0028B50    lfs    f0,-29872(r2)
80092804:  FC010000    fcmpu    cr0,f1,f0
80092808:  4182001C    beq-    0x80092824
8009280C:  881F221B    lbz    r0,8731(r31)
80092810:  5400CFFF    rlwinm.    r0,r0,25,31,31
80092814:  40820020    bne-    0x80092834
80092818:  881F2218    lbz    r0,8728(r31)
8009281C:  5400E7FF    rlwinm.    r0,r0,28,31,31
80092820:  40820014    bne-    0x80092834
80092824:  7FC3F378    mr    r3,r30
80092828:  48000119    bl    0x80092940
8009282C:  38000001    li    r0,1
80092830:  4800001C    b    0x8009284c
80092834:  807F235C    lwz    r3,9052(r31)
80092838:  2C030000    cmpwi    r3,0
8009283C:  4182000C    beq-    0x80092848
80092840:  3803FFFF    subi    r0,r3,1
80092844:  901F235C    stw    r0,9052(r31)
80092848:  38000000    li    r0,0
8009284C:  2C000000    cmpwi    r0,0
80092850:  40820060    bne-    0x800928b0
80092854:  7FC3F378    mr    r3,r30
80092858:  48002659    bl    0x80094EB0    ??? (used in Guard On/Guard)    
8009285C:  2C030000    cmpwi    r3,0
80092860:  40820050    bne-    0x800928b0
80092864:  7FC3F378    mr    r3,r30
80092868:  48006CF9    bl    0x80099560    Ground Dodge (Guard version w/o shield held req)
8009286C:  2C030000    cmpwi    r3,0
80092870:  40820040    bne-    0x800928b0
80092874:  7FC3F378    mr    r3,r30
80092878:  48006659    bl    0x80098ED0    Roll Dodge
8009287C:  2C030000    cmpwi    r3,0
80092880:  40820030    bne-    0x800928b0
80092884:  7FC3F378    mr    r3,r30
80092888:  48045CBD    bl    0x800D8544    Standing Grab
8009288C:  2C030000    cmpwi    r3,0
80092890:  40820020    bne-    0x800928b0
80092894:  7FC3F378    mr    r3,r30
80092898:  480383D5    bl    0x800CAC6C    Jump (Ground - Guard version?)
8009289C:  2C030000    cmpwi    r3,0
800928A0:  40820010    bne-    0x800928b0
800928A4:  7FC3F378    mr    r3,r30
800928A8:  4800752D    bl    0x80099DD4    ??? (used in Guard On/Guard)
800928AC:  2C030000    cmpwi    r3,0
800928B0:  8001001C    lwz    r0,28(r1)
800928B4:  83E10014    lwz    r31,20(r1)
800928B8:  83C10010    lwz    r30,16(r1)
800928BC:  38210018    addi    r1,r1,24
800928C0:  7C0803A6    mtlr    r0
800928C4:  4E800020    blr
[/collapse]

[collapse=Guard (Yoshi) - (Action: 156; Subaction: FFF)]
Code:
8012BD60:  7C0802A6    mflr    r0
8012BD64:  90010004    stw    r0,4(r1)
8012BD68:  9421FFE8    stwu    r1,-24(r1)
8012BD6C:  93E10014    stw    r31,20(r1)
8012BD70:  7C7F1B78    mr    r31,r3
8012BD74:  4BF6913D    bl    0x80094EB0    ??? (used in Guard On)
8012BD78:  2C030000    cmpwi    r3,0
8012BD7C:  40820040    bne-    0x8012bdbc
8012BD80:  7FE3FB78    mr    r3,r31
8012BD84:  4BF6D765    bl    0x800994E8    Ground Dodge (Wait version with shield held req)
8012BD88:  2C030000    cmpwi    r3,0
8012BD8C:  40820030    bne-    0x8012bdbc
8012BD90:  7FE3FB78    mr    r3,r31
8012BD94:  4BF6D13D    bl    0x80098ED0    Roll Dodge
8012BD98:  2C030000    cmpwi    r3,0
8012BD9C:  40820020    bne-    0x8012bdbc
8012BDA0:  7FE3FB78    mr    r3,r31
8012BDA4:  4BFAC7A1    bl    0x800D8544    Standing Grab
8012BDA8:  2C030000    cmpwi    r3,0
8012BDAC:  40820010    bne-    0x8012bdbc
8012BDB0:  7FE3FB78    mr    r3,r31
8012BDB4:  4BF6E021    bl    0x80099DD4    ??? (used in Guard On)
8012BDB8:  2C030000    cmpwi    r3,0
8012BDBC:  8001001C    lwz    r0,28(r1)
8012BDC0:  83E10014    lwz    r31,20(r1)
8012BDC4:  38210018    addi    r1,r1,24
8012BDC8:  7C0803A6    mtlr    r0
8012BDCC:  4E800020    blr
[/collapse]

[collapse=Guard Off - (Action: 0B4; Subaction: 027)]
Code:
80092A54:  7C0802A6    mflr    r0
80092A58:  90010004    stw    r0,4(r1)
80092A5C:  9421FFE0    stwu    r1,-32(r1)
80092A60:  93E1001C    stw    r31,28(r1)
80092A64:  7C7F1B78    mr    r31,r3
80092A68:  8063002C    lwz    r3,44(r3)
80092A6C:  8003235C    lwz    r0,9052(r3)
80092A70:  2C000000    cmpwi    r0,0        Check if you powershielded
80092A74:  418200C4    beq-    0x80092b38    if not, skip A/B/grab interrupts
80092A78:  7FE3FB78    mr    r3,r31
80092A7C:  48003819    bl    0x80096294    Side-B (Ground)
80092A80:  2C030000    cmpwi    r3,0
80092A84:  408200D0    bne-    0x80092b54
80092A88:  7FE3FB78    mr    r3,r31
80092A8C:  48043A85    bl    0x800D6510    Up-B (Ground)
80092A90:  2C030000    cmpwi    r3,0
80092A94:  408200C0    bne-    0x80092b54
80092A98:  7FE3FB78    mr    r3,r31
80092A9C:  4804393D    bl    0x800D63D8    Neutral-B (Ground)
80092AA0:  2C030000    cmpwi    r3,0
80092AA4:  408200B0    bne-    0x80092b54
80092AA8:  7FE3FB78    mr    r3,r31
80092AAC:  480439C9    bl    0x800D6474    Down-B (Ground)
80092AB0:  2C030000    cmpwi    r3,0
80092AB4:  408200A0    bne-    0x80092b54
80092AB8:  7FE3FB78    mr    r3,r31
80092ABC:  48045A89    bl    0x800D8544    Standing Grab
80092AC0:  2C030000    cmpwi    r3,0
80092AC4:  40820090    bne-    0x80092b54
80092AC8:  7FE3FB78    mr    r3,r31
80092ACC:  4BFF9251    bl    0x8008BD1C    F-Smash
80092AD0:  2C030000    cmpwi    r3,0
80092AD4:  40820080    bne-    0x80092b54
80092AD8:  7FE3FB78    mr    r3,r31
80092ADC:  4BFF9AAD    bl    0x8008C588    U-Smash
80092AE0:  2C030000    cmpwi    r3,0
80092AE4:  40820070    bne-    0x80092b54
80092AE8:  7FE3FB78    mr    r3,r31
80092AEC:  4BFF9DB1    bl    0x8008C89C    D-Smash
80092AF0:  2C030000    cmpwi    r3,0
80092AF4:  40820060    bne-    0x80092b54
80092AF8:  7FE3FB78    mr    r3,r31
80092AFC:  4BFF88B5    bl    0x8008B3B0    F-Tilt
80092B00:  2C030000    cmpwi    r3,0
80092B04:  40820050    bne-    0x80092b54
80092B08:  7FE3FB78    mr    r3,r31
80092B0C:  4BFF8BCD    bl    0x8008B6D8    U-Tilt
80092B10:  2C030000    cmpwi    r3,0
80092B14:  40820040    bne-    0x80092b54
80092B18:  7FE3FB78    mr    r3,r31
80092B1C:  4BFF8D81    bl    0x8008B89C    D-Tilt
80092B20:  2C030000    cmpwi    r3,0
80092B24:  40820030    bne-    0x80092b54
80092B28:  7FE3FB78    mr    r3,r31
80092B2C:  4BFF7C25    bl    0x8008A750    Jab
80092B30:  2C030000    cmpwi    r3,0
80092B34:  40820020    bne-    0x80092b54
80092B38:  7FE3FB78    mr    r3,r31
80092B3C:  48006A25    bl    0x80099560    Ground Dodge (Guard version w/o shield held req)
80092B40:  2C030000    cmpwi    r3,0
80092B44:  40820010    bne-    0x80092b54
80092B48:  7FE3FB78    mr    r3,r31
80092B4C:  48038121    bl    0x800CAC6C    Jump (Ground - Guard version?)
80092B50:  2C030000    cmpwi    r3,0
80092B54:  80010024    lwz    r0,36(r1)
80092B58:  83E1001C    lwz    r31,28(r1)
80092B5C:  38210020    addi    r1,r1,32
80092B60:  7C0803A6    mtlr    r0
80092B64:  4E800020    blr
[/collapse]

[collapse=Guard Off (Yoshi) - (Action: 157; Subaction: 027)]
Code:
8012BF10:  7C0802A6    mflr    r0
8012BF14:  90010004    stw    r0,4(r1)
8012BF18:  9421FFF8    stwu    r1,-8(r1)
8012BF1C:  4BF6D5CD    bl    0x800994E8    Ground Dodge (Wait version with shield held req)
8012BF20:  2C030000    cmpwi    r3,0
8012BF24:  8001000C    lwz    r0,12(r1)
8012BF28:  38210008    addi    r1,r1,8
8012BF2C:  7C0803A6    mtlr    r0
8012BF30:  4E800020    blr
[/collapse]

[collapse=Fox - Down-B Hold (Ground) - (Action: 169; Subaction: 13A)]
Code:
800E866C:  7C0802A6    mflr    r0
800E8670:  90010004    stw    r0,4(r1)
800E8674:  9421FFE8    stwu    r1,-24(r1)
800E8678:  93E10014    stw    r31,20(r1)
800E867C:  7C7F1B78    mr    r31,r3
800E8680:  48000905    bl    0x800E8F84    Shine Turn (Action: 16C; Subaction: 13A)
800E8684:  2C030000    cmpwi    r3,0
800E8688:  40820020    bne-    0x800e86a8
800E868C:  7FE3FB78    mr    r3,r31
800E8690:  4BFE2489    bl    0x800CAB18    Jump (Ground)
800E8694:  2C030000    cmpwi    r3,0
800E8698:  40820010    bne-    0x800e86a8
800E869C:  7FE3FB78    mr    r3,r31
800E86A0:  4800005D    bl    0x800E86FC
800E86A4:  2C030000    cmpwi    r3,0
800E86A8:  8001001C    lwz    r0,28(r1)
800E86AC:  83E10014    lwz    r31,20(r1)
800E86B0:  38210018    addi    r1,r1,24
800E86B4:  7C0803A6    mtlr    r0
800E86B8:  4E800020    blr
[/collapse]

[collapse=Fox - Down-B Hold (Air) - (Action: 16E; Subaction: 13E)]
Code:
800E86BC:  7C0802A6    mflr    r0
800E86C0:  90010004    stw    r0,4(r1)
800E86C4:  9421FFE8    stwu    r1,-24(r1)
800E86C8:  93E10014    stw    r31,20(r1)
800E86CC:  7C7F1B78    mr    r31,r3
800E86D0:  480008B5    bl    0x800E8F84    Shine Turn (Action: 171; Subaction: 13E)
800E86D4:  2C030000    cmpwi    r3,0
800E86D8:  40820010    bne-    0x800e86e8
800E86DC:  7FE3FB78    mr    r3,r31
800E86E0:  4BFE2DD9    bl    0x800CB4B8    Jump (Air)
800E86E4:  2C030000    cmpwi    r3,0
800E86E8:  8001001C    lwz    r0,28(r1)
800E86EC:  83E10014    lwz    r31,20(r1)
800E86F0:  38210018    addi    r1,r1,24
800E86F4:  7C0803A6    mtlr    r0
800E86F8:  4E800020    blr
[/collapse][/collapse]
Code:
-Yoshi Jump OoS (v1.00)-
0x3C9820    Guard On    8012BA88 -> 800924B0
0x3C9840    Guard        8012BD60 -> 800927D0
0x3C9860    Guard Off    8012BF10 -> 80092A54
If you were to replace the 00000000 on the 00000127 line with 8008A22C, you'd be able to interrupt grounded neutral-b with any ground move as if you were in Wait.



In the collapsed section above is the actual coding in those functions for interrupts during the actions/subactions. It's pretty simple and just puts the player's main data address into r3, branches to a function that will check if the requirements for the interrupt are met as well as perform the action change, and then return a 1 in r3 if it went through to then skip the remaining interrupt checks on the move. I'll call those individual functions for specific interrupts Interrupt Subroutines. Here are the ones I found inside the actions I looked at:

Interrupt Subroutines (Specific Interrupts)
Code:
bl 0x80096294    Side-B (Ground)
bl 0x800D6510    Up-B (Ground)
bl 0x800D63D8    Neutral-B (Ground)
bl 0x800D6474    Down-B (Ground)
bl 0x800D8544    Standing Grab
bl 0x8008BD1C    F-Smash
bl 0x8008C588    U-Smash
bl 0x8008C89C    D-Smash
bl 0x8008B3B0    F-Tilt
bl 0x8008B6D8    U-Tilt
bl 0x8008B89C    D-Tilt
bl 0x8008A750    Jab
bl 0x800994E8    Ground Dodge (Wait version with shield held req)
bl 0x800917A4    Guard On/Reflect
bl 0x800E5514    ??? (used in Wait)
bl 0x800DE58C    Taunt
bl 0x800CAB18    Jump (Ground)
bl 0x800C9CDC    Dash
bl 0x800D5B64    Crouch
bl 0x800C9424    Turn (Slow)
bl 0x800C90B0    Walk

bl 0x80094BA8    ??? (used in Dash)
bl 0x800D85EC    Dash Grab
bl 0x8008BE6C    F-Smash (Dash version with input window)
bl 0x80098FB8    Roll (Dash version with input window)
bl 0x80096294    ??? (used in Dash)
bl 0x800D85EC    ??? (used in Dash)
bl 0x8008B13C    Dash Attack
bl 0x8008B2DC    ??? (used in Dash/Run)
bl 0x800C98BC    Turn (Fast)
bl 0x800C9D68    ??? (used in Dash)
bl 0x80091830    Shield (Dash version with delay timer requirement)
bl 0x800D85EC    ??? (used in Dash)
bl 0x800C98BC    ??? (used in Dash)
bl 0x800C9D68    ??? (used in Dash)
bl 0x800917A4    Shield
bl 0x800918F4    ??? (used in Dash/Run)
bl 0x800DE58C    ??? (used in Dash)
bl 0x800CABC0    Jump (Ground - Dash/Run version with lower tapjump threshold)
bl 0x800CA238    Run

bl 0x800918E8    ??? (used in Run)
bl 0x800C9988    ??? (used in Run)
bl 0x800CA80C    Run Brake

bl 0x800933EC    Guard Reflect
bl 0x80094EB0    ??? (used in Guard On)
bl 0x80099560    Ground Dodge (Guard version w/o shield held req)
bl 0x80098ED0    Roll Dodge
bl 0x800D8750    ??? (used in Guard On)
bl 0x800D8544    Standing Grab
bl 0x800CAC6C    Jump (Ground - Guard version)
bl 0x80099DD4    ??? (used in Guard On)


bl 0x800963B0    All Specials (Air)
bl 0x8009507C    Item Throw (Air)
bl 0x800D6CB4    ??? (used in Fall)
bl 0x800C3758    Z-Air
bl 0x800997AC    Air Dodge
bl 0x8008CAC0    N/F/B/U/D-Air
bl 0x800D6C10    ??? (used in Fall)
bl 0x800CEAB8    ??? (used in Fall)
bl 0x8011B418    ??? (used in Fall)
bl 0x800CB4B8    Jump (Air)
bl 0x8011B49C    ??? (used in Fall)
Replacing Sub/Action Interrupt Functions <-> Specific Interrupts
Both the main action interrupts function and the interrupt subroutines only need the player data address in r3 which they will have, so you can even interchange them and stick the address of an interrupt subroutine into say... the 00000000 of Yoshi's subaction 138 (down-b landing) by replacing it with 800917A4. You've just made Yoshi able to cancel his down-b landing into shield!

You can also put an action's interrupt function or an interrupt subroutine to replace an instance of an interrupt subroutine to add a set of interrupts overtop of one interrupt, or replace a single interrupt with a different one. Looking at Fox's ground down-b hold interrupt function:

[collapse=Fox - Down-B Hold (Ground) - (Action: 169; Subaction: 13A)]
Code:
800E866C:  7C0802A6    mflr    r0
800E8670:  90010004    stw    r0,4(r1)
800E8674:  9421FFE8    stwu    r1,-24(r1)
800E8678:  93E10014    stw    r31,20(r1)
800E867C:  7C7F1B78    mr    r31,r3
800E8680:  48000905    bl    0x800E8F84    Shine Turn (Action: 16C; Subaction: 13A)
800E8684:  2C030000    cmpwi    r3,0
800E8688:  40820020    bne-    0x800e86a8
800E868C:  7FE3FB78    mr    r3,r31
800E8690:  4BFE2489    [COLOR=Yellow]bl    0x800CAB18[/COLOR]    Jump (Ground)
800E8694:  2C030000    cmpwi    r3,0
800E8698:  40820010    bne-    0x800e86a8
800E869C:  7FE3FB78    mr    r3,r31
800E86A0:  4800005D    bl    0x800E86FC
800E86A4:  2C030000    cmpwi    r3,0
800E86A8:  8001001C    lwz    r0,28(r1)
800E86AC:  83E10014    lwz    r31,20(r1)
800E86B0:  38210018    addi    r1,r1,24
800E86B4:  7C0803A6    mtlr    r0
800E86B8:  4E800020    blr
[/collapse]

Say at 800E8690 (0xE5270 in v1.00 DOL) you want to change the bl 0x800CAB18 to bl 0x800C9CDC. Note that this is changing an ASM instruction (a branch with link so it can return once it's done) and not a pointer. You will need to find the difference between the destination address (800C9CDC) and the current address (800E8690), which is 0x1E9B4, and if the destination is lower put a - in front of it (-0x1E9B4). Put that with the bl instruction and you have bl -0x1E9B4. Using an ASM Converter you get 4BFE164D (you can get the converter with all the files you need for it here). Replace 4BFE2489 with 4BFE164D and Fox's shine on the ground would now be dash cancelable rather than JCable!

 

phish-it

Smash Champion
Joined
Apr 4, 2004
Messages
2,096
Location
Mahopac, NY
The living legend strikes again.


I'll need too take some time to look into that ASM program, I am completely lost at trying to comprehend the format of this.
 

Theftz22

Smash Lord
Joined
Mar 21, 2008
Messages
1,030
Location
Hopewell, NJ
I actually got one to work and then it failed again on the second one even though the files are formatted exactly the same. I'm working on doc.

38.txt

file 0 = C:\Users\Noah\Desktop\Hacked Melee\MnSlChr\38\tex#00_09+2.tga
image 0 = 0, x, CI8
palette 0 = 0, RGB5A3
texture 0 = 0, 0

Yes, this is a txt file not a tcs file because that's the only way I got the other one to work. My computer doesn't recognize the tcs extension anyway.

Edit: Nvm, I fixed the issue. It was due to the magenta coloring of the background.
 

God with a Wavebird

Smash Apprentice
Joined
Apr 10, 2012
Messages
107
Location
Eugene, OR
Does anyone know if it's possible to switch which skin corresponding to which color?

For example, say in teams I chose to be green puff. I want the game to load what is usually blue puff (the one with the bow) and not what is normally green puff (choice band puff).
Thank you!

EDIT: This is why I'm asking
 

randomguy737

Smash Rookie
Joined
Jan 7, 2011
Messages
24
You could probably find the spot where the game jumps to the corresponding costume, and change the address the "link" points to. But that would be permanent. I don't think you could have a selection sort of thing, as that would require additional code to add to the dol. But anything is possible, I guess.

Why not just skin the green puff onto the blue char?
 

randomguy737

Smash Rookie
Joined
Jan 7, 2011
Messages
24
Also, can this (http://us.codejunkies.com/Products/GCN/Wii-SD-Media-Launcher___EF000589.aspx) be used to play a hacked melee iso on the gamecube?
I have also intertest in this. Has anyone tried this to play hacked melee on the cube? or to allow a normal gamecube disk run with modifications?
Yes. It used to come with the Action Replay Disc, but I just ordered one a few weeks ago comes with a SD media launcher specific disc. It works on DOL-001 and DOL-101 cubes for me (so basically all cubes).

There's glitches though, the menu lags and sound cuts out. In game, however I haven't really had a problem. I think I might have had one miniscule freeze, so I wouldn't use it for anything serious as it might break your concentration.

Use swiss, check the guide in this subforum. You can set SDML to autoboot it, and apparently there's a way for swiss to autoboot an iso, but I haven't figured that out yet.

The SD card adapter is **** though. I got mine to work by using one of those binder clips to squeeze the sd card down onto the pins. I ordered a few of these, hopefully they're better but I haven't tested them.

The glitches are fixable, for anyone who's wondering. I'm looking into a hardware solution that would allow for fullspeed games. Hopefully that will work out.
 

Tsukimaru

Smash Rookie
Joined
Jul 23, 2011
Messages
22
Location
nicaragua
hey guys, do any of you have any mapping for Roy`s hit commands? im noob at command hacking so i dont seem to find them :( im trying to make a "custom fighting roy" so i can fix some stuff (element, spikes, hit angle, etc) and make him WAY more useful in friendly matches.

if anyone could help me, i would thank you a lot :)
 

Theftz22

Smash Lord
Joined
Mar 21, 2008
Messages
1,030
Location
Hopewell, NJ
^^I'm not sure what you mean by that, since a melee disk just means a disk with a melee iso on it, and besides to do any melee hacking you need a melee iso. However, if you mean you want to be able to run hacked melee off a gamecube with a disk, you should get a gamecube modchip. I purchased the xeno gc v2.0.
 

ResidentWaffle

Smash Lord
Joined
Jan 22, 2006
Messages
1,125
Location
UCLA
I mean having the actual melee disk sold from nintendo but using an SD card to modify it, similar to brawl.

EDIT: Also, does anyone know how to modify the character select screen so we can play more characters(like giga bowser or a wireframe).
 

phish-it

Smash Champion
Joined
Apr 4, 2004
Messages
2,096
Location
Mahopac, NY
Does anyone know if it's possible to switch which skin corresponding to which color?

For example, say in teams I chose to be green puff. I want the game to load what is usually blue puff (the one with the bow) and not what is normally green puff (choice band puff).
Thank you!

EDIT: This is why I'm asking
For characters without different vertices you can just copy the last couple lines of the color file over (where it says the character name color etc.). Unfortunately, this doesn't work for Jigglypuff's costumes because of her different accessories. There is probably a way but I don't know of anyone discovering it yet.
 

randomguy737

Smash Rookie
Joined
Jan 7, 2011
Messages
24
I mean having the actual melee disk sold from nintendo but using an SD card to modify it, similar to brawl.

EDIT: Also, does anyone know how to modify the character select screen so we can play more characters(like giga bowser or a wireframe).
Well, related, you can have swiss use the game disc to help with compatibility issues. But I don't know of a way to do it how Project M, etc does it. I suppose it's possible but no one has tried yet, as I'm aware.

Speaking of wireframes, has anyone made wireframe textures for Falcon and Zelda, since they're what the wireframes are based off of? Would be kinda neat.
 

God with a Wavebird

Smash Apprentice
Joined
Apr 10, 2012
Messages
107
Location
Eugene, OR
For characters without different vertices you can just copy the last couple lines of the color file over (where it says the character name color etc.). Unfortunately, this doesn't work for Jigglypuff's costumes because of her different accessories. There is probably a way but I don't know of anyone discovering it yet.
Dang it! oh well. Thanks anyway

Why not just skin the green puff onto the blue char?
Imo it looks better this way because the bow makes jiggs look more like Bulbasaur than the headband. But yeah, I guess I have to switch the skins.
 

ResidentWaffle

Smash Lord
Joined
Jan 22, 2006
Messages
1,125
Location
UCLA
What .dat file contains the character selection screen? And does anyone know anything about how it works?(selecting characters for a match and such).
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
I have a couple pretty random and specific questions.

With smash attacks and in a few other places there's an accompanying white and blue flash or sparkle graphic that pops up. You can see it here with Luigi's down smash:



I want the actual images or full color palette for those.

Are there sprites for these somewhere, or are they procedurally generated? (I'd guess sprite, but idk)

If they're actually images, can someone find or rip them? If not, how difficult would it be to track down the color palette?
 

Toomai

Smash Ace
Joined
Aug 17, 2006
Messages
769
Location
Someplace in Canada
I want the actual images or full color palette for those.

Are there sprites for these somewhere, or are they procedurally generated? (I'd guess sprite, but idk)

If they're actually images, can someone find or rip them? If not, how difficult would it be to track down the color palette?
If you're using Dolphin, you can Graphics > Advanced > Dump Textures and somewhere in the dump folder will be what you want. Here's that spark effect in particular (the first appears on its first frame of existence, the second on frames 2 and 3):


As for the tint colour, that's procedural, and I don't know how to find it.
 
Top Bottom