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

nube

Smash Apprentice
Joined
Jun 20, 2010
Messages
166
A word of caution to all:
Be careful when altering stuff related to attacks such as damage, trajectory, hitboxes, etc. for purposes other than furthering this whole hacking business, cuz if (for example) someone increased the range of Jigglypuff's rest for the purpose of cheating/winning, and ppl found out, it would just give a really bad name to this whole hacking business, when this is just meant to make Melee even more enjoyable to play.

Not that I would recommend playing hacked Melee in a tourney setting or anything; they should definitely use the real thing in tournaments. I definitely agree with SleepyK when he says this: http://www.youtube.com/watch?v=oVCkpRxfLTU#t=2m20s We definitely shouldn't start altering attacks in our own attempt to "balance" the game (imo, it's fine like it is).

That being said, great discovery Magus! If you could share with us how you did that, it'd be awesome. Wow, Melee hacks are really progressing.

@ Paju, I also discovered invisible lasers, before I figured out the offsets to change the colours. Sadly, they only worked on dolphin, but froze my Wii. Either way, blue/green lasers > invisible lasers ^^

@ Steelia, if you know more about the format the lasers are coloured (CLR0/RGBA?), could you shed some light on it? I just want to understand it better.
 

nube

Smash Apprentice
Joined
Jun 20, 2010
Messages
166
In other news, black lightning? ^^



After this I will try marth's shield breaker (it shouldn't be too hard), then I will try firefox or falcon punch, which will be harder to find the offsets for.

EDIT: lol
 

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,511
Location
Home.
Woo! Simply kickin', nube. I have no idea how you're finding those things... but... you are! :D

May I make a side suggestion?
When you've got the time... probably on some lazy day or something... you mind finding where in the heyll Zelda's leg colors are? For some reason, she doesn't have leg textures... She has them colored in like the effect files. I dunno. >_>
 

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
Hitbox stuff...

You generally find these in the character's Pl**.dat file (PlFx, PlCa, PlGn, etc). Some stuff like turnips, YLink/Link's bombs which can be caught and thrown are items, and may be in another file (they are in Brawl).

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B


The orange is one of CF's sweetspotted knee hitboxes. Hitbox data is 20 bytes long (0x14), and always begins at offsets ending in 0, 4, 8, or C. Notice how more than one thing is often in the same byte. Unlike Brawl's hitbox data, the parameters don't start and end cleanly on bytes most of the time, so the bits all kind of run together. It's the same thing as the flags part of Brawl's parameters... except it's like that for just about everything. Bit shifting was helpful for figuring out some of this crap.

I was unsuccessful at first trying to find anything that resembled hitbox data because of this. I only made progress by doing a file compare of NTSC vs PAL character files of characters with documented changes. Luckily damage has its own byte here so I was able to get a general idea of what a set of hitbox data looked like to find others and compare them.


Here are all of the bits of the 20 bytes mapped out:

......0...........1...........2...........3...........4
| CCCC CCII | IRRR RRNN | NNNN NOOD | DDDD DDDD | SSSS SSSS |


......5...........6...........7...........8...........9
| SSSS SSSS | ZZZZ ZZZZ | ZZZZ ZZZZ | YYYY YYYY | YYYY YYYY |


.....10..........11..........12..........13..........14
| XXXX XXXX | XXXX XXXX | AAAA AAAA | AGGG GGGG | GGWW WWWW |


.....15..........16..........17..........18..........19
| WWWQ QQPP | BBBB BBBB | BEEE EEVL | LLLL LLFF | FFFF FFTT |


C: Command
I: Hitbox ID
R: Unknown-1
N: Bone Attachment
O: Unknown-2
D: Damage
S: Size
Z: Z-Offset
Y: Y-Offset
X: X-Offset
A: Angle
G: Knockback Growth
W: Weight Dependent Set Knockback
Q: Unknown-3
P: Hitbox Interaction
B: Base Knockback
E: Element
V: Unknown-4
L: Shield Damage
F: Sound FX
T: Hurtbox Interaction



Command
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
^^

Length: 6 bits within 1 byte
Range: 0-63
Bits Used:
......0
| CCCC CCII |


This is the hitbox command itself. Do not change this.


Hitbox ID
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
.^.^

Length: 3 bits within 2 bytes
Range: 0-7
Bits Used:
......0...........1
| CCCC CCII | IRRR RRNN |


The 1st 6 bits in the 1st byte are the hitbox command itself, so they will always be 0010 11--, contributing 0x2C to the byte. I don't know what bits 2-6 in the 2nd byte are, but I haven't seen them set. The last 2 are part of Bone Attachment.

Which means...

ID Values
0 2C 0x
1 2C 8x
2 2D 0x
3 2D 8x

etc...

x is almost always 0, 1, 2, or 3 depending on the bone attachment.


Bone Attachment
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
....^.^^

Length: 7 bits within 2 bytes
Range: 0-127
Bits Used:
......1...........2
| IRRR RRNN | NNNN NOOD |


This is the body part that the hitbox attaches to, like hand, foot, knee, head, etc. When attached it will move along with the body part. If you set the Bone to 0, it places it in a fixed position near the bottom of the character.


Damage
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
.......^ ^^

Length: 9 bits within 2 bytes
Range: 0-511
Bits Used:
......2...........3
| NNNN NOOD | DDDD DDDD |


Pretty straight forward. Unless you want it to do more than 255 damage, the damage will just be what's in the 2nd byte. Damages between 256-511 extend into the ones place of the 1st byte.


Size
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
............^^ ^^

Length: 16 bits within 2 bytes
Range: 0-65535
Bits Used:
......4...........5
| SSSS SSSS | SSSS SSSS |


The radius of the hitbox (it's actually a sphere).


Position Offsets
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
..................^^ ^^ ^^ ^^ ^^ ^^

Length: 16 bits within 2 bytes (x3)
Range: -32767 to +32767 (x3)
Bits Used:
......6...........7.............8...........9............10..........11
| ZZZZ ZZZZ | ZZZZ ZZZZ | | YYYY YYYY | YYYY YYYY | | XXXX XXXX | XXXX XXXX |


Z shifts the hitbox position along the Z-Axis (along the foreground and background), Y is Y-Axis (up and down), and X is X-Axis (left and right). The orientation of the shift may vary depending on the position of the bone the hitbox is attached to, so you'll most likely want to check it with the debug menu's hitbox display mode to make sure it's the direction you want.

0x0000-0x7FFF are positive shifts, while 0x8000-0xFFFF are negative and would shift in the opposite direction. 0x0001 and 0xFFFE are the smallest shift, while 0x7FFF and 0x8000 shift the most.


Angle
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
....................................^^.^

Length: 9 bits within 2 bytes
Range: 0-511
Bits Used:
.....12..........13
| AAAA AAAA | AGGG GGGG |


An easy way to figure it out without bit shifting (you'd shift it left once) is to take both digits from the 1st byte and the 1st digit from the 2nd byte, and divide it by 8. If the 3rd digit shown is between 0-7 it's 0, and 8-F it's 8. In the above hitbox example of the knee it's 0x100 (256 in decimal), and divided by 8 is 32°.

Angle = (3 digits)/8

To plug in an angle you want, multiply it by 8, then convert to hex. So if for example you want to plug in an 80° angle, that'd be 80*8 -> 640 -> 0x280. Put 0x28 in the 1st byte, then if the 1st digit in the 2nd byte is between 8 and F subtract 8 from the digit, and if between 0 and 7 leave it alone.

Examples:
AA A
B4 8: 45° .
(361 angle = Melee's "Sakurai angle". Most up & away side launchers have this)
91 0: 290° (Typical Spike. Never meteor cancelable?)
87 0: 270° (Typical Meteor. Always meteor cancelable?)
46 0: 140° (Peach's D-Smash)
28 0: 80° .(Fox's U-Smash)
20 8: 65° .(Link's D-Air)
1E 0: 60° .(Doc's F-Air)
10 0: 32° .(CF's sweetspot Knee)
0C 8: 25° .(Sheik's F-Air)



Knockback Growth
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
.......................................^^.^

Length: 9 bits within 2 bytes
Range: 0-511
Bits Used:
.....13..........14
| AGGG GGGG | GGWW WWWW |


This is the part of knockback that increases with their total damage. The damage of the hitbox is used along with this, so if you increase/decrease the damage of the hitbox it will change the rate at which the knockback scales. For non-projectiles it's the normal damage of the hitbox that's used for KBG, which is why they don't have weakened growth when staled (like Brawl). Projectile KB does use the staled damage to modify the KBG like Brawl, which is why a staled projectile that hits for less damage but with higher total damage can have less knockback than when it hits for more damage at lower total damage. On non-projectiles only the total damage will matter for the KBG.

An easy way to figure it out without bit shifting (you'd shift it left twice) is to take both digits from the 1st byte and the 1st digit from the 2nd byte, and divide it by 4. If the 1st digit shown is between 8 and F subtract 8 since that's part of the angle. If the 3rd digit shown is between 0-3 it's 0, 4-7 it's 4, 8-B it's 8, and C-F it's C. In the above hitbox example of the knee it's 0x190 (400 in decimal), and divided by 4 is 100 KBG.

KBG = (3 digits)/4

Note: When weight dependent set knockback is in use, I think this acts as a percentage applied to it. If KBG is 100 and WDSK is 40 it acts like 40 BKB that is modified by the victim's weight multiplier. If KBG is 50 and WDSK is 40 it acts like 20 BKB, etc. It's almost always set to 100 KBG when using WDSK though.


Weight Dependent Set Knockback
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
..........................................^^.^

Length: 9 bits within 2 bytes
Range: 0-511
Bits Used:
.....14..........15
| GGWW WWWW | WWWQ QQPP |


When not set to 0, the KBG stat changes from being growth to a modifier on this (see above under KBG), and is a fixed knockback (same knockback at 0 dmg as 999 dmg) that is modified by weight. Fox's shine uses this, and the effect of weight makes the knockback be below the tumble threshold on heavier characters and above it on lighter ones making them fall over when hit.

An easy way to figure it out without bit shifting (you'd shift it left 3 times) is to take both digits from the 1st byte and the 1st digit from the 2nd byte, and divide it by 2. If the 1st digit shown is between 4-7 subtract 4, 8-B subtract 8, or C-F subtract C since that would be part of the KBG. If the 3rd digit shown is odd, subtract 1 from it (1 would become 0; 8 would stay 8; D would be C, etc). Fox's shine has 0x0A0 here (160 in decimal), and divided by 2 means his shine has 80 WDSK.

WDSK = (3 digits)/2

If the effect of KBG on this is indeed simply like a percentage it'd be...

WDSK = (KBG/100)*(3 digits/2)


Hitbox Interaction
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
..............................................^

Length: 2 bits within 1 byte
Range: 0-3
Bits Used:
.....15
| WWWQ QQPP |


This parameter changes what hitboxes the hitbox is able to hit.

0 .Does not hit any hitboxes?
1 .Possibly able to hit something that 0 can't?
2 .?
3 .Able to hit any hitboxes while on the ground, and projectiles on ground or in air


Marth's neutral-B has 0 while his side-B has 1 (except for 3-Down which has 3), but I don't know of any differences regarding what they can hit.


Base Knockback
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
................................................^^.^

Length: 9 bits within 2 bytes
Range: 0-511
Bits Used:
.....16..........17
| BBBB BBBB | BEEE EEVL |


Base knockback is the amount of knockback added that doesn't increase with total damage. It is also unaffected by the weight of the character being hit, so this part of the total knockback would always be the same, regardless of whether it's hitting Bowser or Pichu. A good example would be Peach's f-air and n-air. F-air has a lot more BKB but much less KBG than n-air, so at very low damage f-air has more total KB but when you hit them around 85%+ the n-air has more total KB.

An easy way to figure it out without bit shifting (you'd shift it left once) is to take both digits from the 1st byte and the 1st digit from the 2nd byte, and divide it by 8. If the 3rd digit shown is between 0-7 it's 0, and 8-F it's 8. In the above hitbox example of the knee it's 0x0C0 (192 in decimal), and divided by 8 is 24 BKB.

BKB = (3 digits)/8

80 BKB and above is enough knockback to cause tumble/knockdown without any knockback from KBG.


Element
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
....................... ...........................^^

Length: 5 bits within 1 byte
Range: 0-31
Bits Used:
.....17
| BEEE EEVL |


The element is the special effect on hit. Slash, Coin and Darkness are only cosmetic afaik and have no additional gameplay effect on the opponent. When a slash hitbox clanks with another slash hitbox it makes a sword clang sound effect (random: One of Peach's hitboxes on her shoe during f-tilt is slash element for some reason. Try jabbing it with Marth =P). Fire unfreezes someone who's frozen. Electric hits have 1.5x hitlag on hit for the defender, which makes them easier to DI, but it also gives the attacker slightly more frames of advantage since they start moving while the defender is still stopped in hitlag. It also slightly reduces the frame advantage of someone CCing for the same reason (crouching halves hitlag, but half of 1.5 is 0.75). Ice freezes them randomly (chance increases with higher knockback), Sleep puts them to sleep, Flower/Poison puts a flower on their head and they take damage over time, Grounded sticks them into the floor, Disabled/Stunned is like Mewtwo's disable or a shield break, Cape turns them around, and Screw Attack makes them go into the screw attack animation (like when you throw it at them).

If the 1st digit shown of the byte is between 8 and F subtract 8 to get the element value since that 0x80 in the byte is part of BKB. Example: 0x92 would instead be 0x12. 0x12 would still be 0x12.

These are the elements you'd plug into the byte (already bit shifted left x2):
00 .Normal
04 .Fire
08 .Electric
0C .Slash
10 .Coin
14 .Ice
18 .Sleep
1C .Sleep
20 .Grounded
24 .Grounded
28 .Cape
2C .Empty (Gray hitbox that doesn't hit)
30 .Disabled
34 .Darkness
38 .Screw Attack
3C .Poison/Flower
40 .Nothing (no graphic on hit)



Shield Damage
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
......................... ..........................^ ^^

Length: 7 bits within 2 bytes
Range: 0-127
Bits Used:
.....17..........18
| BEEE EEVL | LLLL LLFF |


Shield damage is how much additional damage it does to shields. It adds onto the normal hitbox damage, so if a 16 dmg hitbox has 8 shield dmg on it, it does as much damage to shields as 24 dmg hitboxes do.

An easy way to figure it out without bit shifting (you'd shift it right twice) is to take both digits and divide it by 4. If the 2nd digit shown is odd subtract 1 (0x55 would be 0x54, while 0x56 would stay 0x56). Jigglypuff's pound has 0x51 here which would be 0x50 (80 in decimal), and divided by 4 is 20 shield damage. Since Pound does 13 dmg, it damages a shield as much as a 33 dmg hit would.

Shield Damage = (2 digits)/4

Z shield has 68 health, and hard shield has 83.


Sound Effects
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
.......................... ............................^.^^

Length: 8 bits within 2 bytes
Range: 0-255
Bits Used:
.....18..........19
| LLLL LLFF | FFFF FFTT |


This is the sound played when it hits someone. Smack, thud, boom, slash, ping, etc.

An easy way to figure it out without bit shifting (you'd shift it right twice) is to take the 1 from the 2nd digit in the 1st byte if it's odd (if even it's 0) and both digits from the 2nd byte, and divide it by 4. If the 2nd digit shown in the 2nd byte is between 0-3 it's 0, 4-7 it's 4, 8-B it's 8, and C-F it's C (to remove the bits for the Hurtbox Interaction contributing to the byte). In the above hitbox example of the knee it shows 0x10B which is really 0x108 (264 in decimal), and divided by 4 is 66.

SFX = (3 digits)/4


Hurtbox Interaction
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
.............................. ...........................^

Length: 2 bits within 1 byte
Range: 0-3
Bits Used:
.....19
| FFFF FFTT |


This parameter changes what hurtboxes the hitbox is able to hit.

0 .Can't hit anything
1 .Can hit hurtboxes of someone/something that's in the Air only
2 .Can hit hurtboxes of someone/something that's on the Ground only
3 .Can hit hurtboxes of someone/something that's in the Air or Ground


The rightmost bit of the SFX is in the 4ths place, so if the 2nd digit of the byte is 0/4/8/C then this parameter is 0 (none?), 1/5/9/D is 1 (air only), 2/6/A/E is 2 (ground only), and 3/7/B/F is 3 (air & ground).





Here's some hitbox data I collected to compare and figure out stuff.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B

----------------
Captain Falcon
----------------
**F-Air**
2C 00 38 12 05 14 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
2C 80 20 12 03 84 04 4C 00 00 00 00 10 19 00 13 0C 08 01 0B
2C 00 38 06 05 14 04 4C 00 00 00 00 B4 94 00 13 11 80 00 0B
2C 80 20 06 03 84 04 4C 00 00 00 00 B4 94 00 13 11 80 00 0B

**Jab 1**
2C 00 00 02 03 84 00 00 0B 22 0A F0 28 19 02 93 00 00 00 07
2C 80 00 02 03 84 00 00 0C 80 05 78 28 19 02 93 00 00 00 07
2D 00 00 02 02 58 00 00 0B 22 01 F4 28 19 02 93 00 00 00 07

**Jab 2**
2C 00 00 03 03 84 00 00 0B 86 0F A0 28 19 02 93 00 00 00 07
2C 80 00 03 03 84 00 00 0B 86 09 C4 28 19 02 93 00 00 00 07
2D 00 00 03 02 BC 00 00 0B 86 03 E8 28 19 02 93 00 00 00 07

**Jab 3**
2C 00 68 08 05 14 04 4C 00 00 00 00 B4 99 00 13 0A 00 01 0B
2C 80 20 08 03 84 04 4C 00 00 00 00 B4 99 00 13 0A 00 01 0B


-------
Falco
-------
**D-Air**
2C 00 38 0C 05 28 FE AC 01 7F 00 00 91 19 00 13 05 00 01 0B
2C 80 38 0C 05 FD 00 FF 00 FF 00 00 91 19 00 13 05 00 01 0B
2C 00 38 09 05 28 FE AC 01 7F 00 00 91 19 00 13 0A 00 00 8B
2C 80 38 09 05 FD 00 FF 00 FF 00 00 91 19 00 13 0A 00 00 8B

**Down-B**
2C 00 18 08 06 00 00 00 00 00 00 00 2A 0C 80 12 37 08 01 23


-----
Fox
-----
**Up-B**
2C 01 48 0E 04 00 00 00 00 00 00 00 28 0F 00 13 1E 04 15 23

**U-Smash**
2C 00 68 12 03 54 00 00 00 00 00 00 28 1C 00 13 0F 00 01 0B
2C 80 68 12 04 A8 02 54 00 00 00 00 28 1C 00 13 0F 00 01 0B

**D-Smash**
2C 00 68 0F 04 B0 03 34 00 00 00 00 0C 90 40 13 0A 00 01 0B
2C 80 38 0F 04 B0 03 34 00 00 00 00 0C 90 40 13 0A 00 01 0B
2D 00 68 0C 03 84 00 00 00 00 00 00 B4 90 40 13 0A 00 01 0B
2D 80 38 0C 03 84 00 00 00 00 00 00 B4 90 40 13 0A 00 01 0B

**Down-B**
2C 00 18 05 08 00 00 00 00 00 00 00 00 19 0A 12 00 08 01 23


-----------
Ganondorf
-----------
**N-Air**
2C 00 68 0C 03 84 05 DC 00 00 00 00 1B 99 00 13 0F 00 00 8B
2C 80 60 0C 04 B0 03 20 00 00 00 00 1E 19 00 13 0F 00 00 8B
2D 00 20 0C 05 14 00 00 00 00 00 00 20 99 00 13 0F 00 00 8B
2C 00 38 0C 03 84 03 E8 00 00 00 00 B4 99 00 13 19 00 00 8B
2C 80 30 0C 04 B0 02 BC 00 00 00 00 B4 99 00 13 19 00 00 8B
2D 00 20 0C 05 14 00 00 00 00 00 00 B4 99 00 13 19 00 00 8B

**F-Air**
.(NTSC)
2C 02 10 11 03 20 FF 38 00 00 00 00 B4 94 00 13 1E 00 01 23
2C 82 10 11 03 E8 01 F4 00 00 00 00 B4 94 00 13 1E 00 01 23
2D 02 18 11 05 14 04 B0 00 00 00 00 B4 94 00 13 1E 00 01 23
.(PAL)
2C 02 10 11 02 BC FF 38 00 00 00 00 B4 94 00 13 14 00 01 23
2C 82 10 11 03 84 01 F4 00 00 00 00 B4 94 00 13 14 00 01 23
2D 02 18 11 04 4C 04 B0 00 00 00 00 B4 94 00 13 14 00 01 23

**B-Air**
2C 00 B8 10 05 78 04 B0 00 00 00 00 B4 99 00 13 0F 00 01 07
2C 80 B0 10 04 B0 03 20 00 00 00 00 B4 99 00 13 05 00 01 07
2D 00 B0 10 03 E8 FF 38 00 00 00 00 B4 99 00 13 05 00 01 07

**D-Air**
.(NTSC)
2C 00 68 16 06 A4 05 78 01 90 00 00 87 19 00 11 19 08 01 23
2C 80 60 16 05 DC 04 4C 01 90 00 00 87 19 00 11 19 08 01 23
2D 00 20 16 05 78 00 00 01 90 00 00 87 19 00 11 19 08 01 23
.(PAL)
2C 00 68 15 06 A4 05 78 01 90 00 00 87 19 00 11 14 08 01 23
2C 80 60 15 05 DC 04 4C 01 90 00 00 87 19 00 11 14 08 01 23
2D 00 20 15 05 78 00 00 01 90 00 00 87 19 00 11 14 08 01 23

**U-Air**
2C 00 30 0D 03 E8 03 20 00 00 00 00 B4 99 00 13 11 80 01 0B
2C 80 38 0C 04 B0 05 DC 00 00 00 00 B4 99 00 13 11 80 01 0B
2C 00 30 0C 03 E8 03 20 00 00 00 00 0F 14 00 13 0F 00 00 8B
2C 80 38 0A 04 B0 05 DC 00 00 00 00 0F 14 00 13 0F 00 00 8B
2C 00 30 08 03 E8 03 20 00 00 00 00 00 11 80 13 0A 00 00 8B
2C 80 38 06 04 B0 05 DC 00 00 00 00 00 11 80 13 0A 00 00 8B

**U-Tilt**
2C 00 68 1B 07 08 00 00 03 20 03 E8 B4 94 00 13 37 04 01 23
2C 80 68 1B 07 08 00 00 00 00 00 00 B4 94 00 13 37 04 01 23
2D 00 60 1B 03 E8 00 00 00 00 00 00 B4 94 00 13 37 04 01 23

**Neutral-B**
2C 02 28 1E 02 58 00 00 00 00 00 00 B4 99 00 13 0F 34 01 0B
2C 82 10 20 03 E8 02 58 00 00 00 00 B4 99 00 13 0F 34 01 0B
2D 02 10 22 03 84 FD A8 00 00 00 00 B4 99 00 13 0F 34 01 0B

**F-Smash**
.(Up)
2C 00 B0 18 03 84 00 00 00 00 00 00 28 15 40 13 14 34 01 23
2C 80 B8 18 03 84 00 00 00 00 00 00 28 15 40 13 14 34 01 23
.(Neutral)
2C 00 B0 16 03 84 00 00 00 00 00 00 23 14 C0 13 14 34 01 23
2C 80 B8 16 03 84 00 00 00 00 00 00 23 14 C0 13 14 34 01 23
.(Down)
2C 00 B0 14 03 84 00 00 00 00 00 00 1E 14 00 13 14 34 01 23
2C 80 B8 14 03 84 00 00 00 00 00 00 1E 14 00 13 14 34 01 23

**U-Smash**
2C 00 68 16 05 DC 05 DC 00 00 00 00 2D 14 00 13 19 00 01 0B
2C 80 60 16 03 E8 03 20 00 00 00 00 28 14 00 13 19 00 01 0B
2D 00 20 16 04 B0 00 00 FC 18 00 00 B4 94 00 13 19 00 01 0B
2C 00 38 13 05 DC 05 DC 00 00 00 00 2D 14 00 13 14 00 01 23
2C 80 30 13 03 E8 03 20 00 00 00 00 28 14 00 13 14 00 01 23
2D 00 20 13 03 E8 00 00 FC 18 00 00 B4 94 00 13 14 00 01 23

**Down-B**
.(Ground)
2C 00 68 0F 03 E8 00 00 00 00 00 00 B4 95 40 13 1E 34 29 0B
2C 80 60 0F 02 BC 00 00 00 00 00 00 B4 95 40 13 1E 34 29 0B
2D 00 68 0F 04 B0 07 D0 00 00 00 00 B4 95 40 13 1E 34 29 0B
.(Air)
2C 00 38 0E 03 E8 00 00 00 00 00 00 91 14 00 13 19 34 29 0B
2C 80 30 0E 02 BC 00 00 00 00 00 00 91 14 00 13 19 34 29 0B
2C 00 00 0C 03 E8 00 00 03 20 08 98 28 05 00 10 1E 00 01 0A
2C 80 00 0C 03 E8 00 00 03 20 F7 68 28 05 00 10 1E 00 01 0A

**Side-B**
.(Ground)
2C 00 C8 11 07 80 00 00 00 00 00 00 34 91 40 12 1E 34 09 23
.(Air)
2C 00 C8 10 07 80 00 00 00 0A 00 00 23 10 40 12 19 34 09 23


------------
Jigglypuff
------------
**Down-B**
2C 00 28 1C 01 F4 00 00 00 00 00 00 B4 9E 00 10 27 04 01 17

**Side-B**
2C 00 00 0D 03 84 00 00 05 14 03 E8 2D 12 C0 13 1A 00 51 1B
2C 80 F0 0D 03 84 01 F4 00 00 00 00 3C 12 C0 13 1A 00 51 1B


-------
Marth
-------
**D-Air**
2D 02 38 09 03 84 00 00 00 00 00 00 B4 91 80 13 0F 0C 01 0F
2D 80 C8 09 03 84 00 00 00 00 00 00 B4 91 80 13 0A 0C 01 0F
2C 02 60 0D 03 84 03 84 00 00 00 00 91 11 80 13 14 0C 01 23

**Neutral-B**
2C 02 60 1C 04 4C 00 00 00 00 00 00 B4 99 00 10 0F 0C F1 23
2C 82 38 1C 02 BC 00 00 00 00 00 00 B4 99 00 10 0F 0C F1 23
2D 00 C8 1C 03 0C 00 00 00 00 00 00 B4 99 00 10 11 0C F1 23
2D 82 60 1C 03 E8 05 AA 00 00 00 00 B4 99 00 10 14 0C F1 23

**Side-B**
.1(Neutral)
2C 02 60 04 03 E8 00 C8 00 00 00 00 2A 86 40 11 1B 8C 00 0F
2C 82 60 04 03 20 05 DC 00 00 00 00 30 06 40 11 1B 8C 00 0F
2D 02 38 04 03 20 00 00 00 00 00 00 28 06 40 11 1B 8C 00 0F
2D 80 C8 04 02 58 00 00 00 00 00 00 26 06 40 11 1B 8C 00 0F
.2(Neutral)
2C 02 60 05 03 E8 00 C8 00 00 00 00 34 99 00 11 08 0C 04 8F
2C 82 60 05 03 20 05 DC 00 00 00 00 28 19 00 11 08 0C 04 8F
2D 02 38 05 03 20 00 00 00 00 00 00 23 19 00 11 08 0C 04 8F
2D 80 C8 05 02 58 00 00 00 00 00 00 19 19 00 11 08 0C 04 8F
.2(Up)
2C 02 60 05 03 E8 00 C8 00 00 00 00 2D 0A 00 11 0F 0C 00 0F
2C 82 60 05 03 20 05 DC 00 00 00 00 2D 0A 00 11 1E 0C 00 8F
2D 02 38 05 03 20 00 00 00 00 00 00 2A 8A 00 11 23 0C 00 8F
2D 80 C8 05 02 58 00 00 00 00 00 00 27 8A 00 11 2A 8C 00 8F
.3(Neutral)
2C 02 60 0A 03 E8 00 C8 00 00 00 00 B4 A8 00 11 00 0C 05 0F
2C 82 60 0A 03 20 05 DC 00 00 00 00 B4 A8 00 11 00 0C 05 0F
2D 02 38 0A 03 20 00 00 00 00 00 00 B4 A8 00 11 00 0C 05 0F
2D 80 C8 0A 02 58 00 00 00 00 00 00 B4 A8 00 11 00 0C 05 0F
.3(Up)
2C 02 60 06 03 E8 00 C8 00 00 00 00 28 0F 00 11 1E 0C 05 0F
2C 82 60 06 03 20 05 DC 00 00 00 00 28 0F 00 11 1E 0C 05 0F
2D 02 38 06 03 20 00 00 00 00 00 00 28 0F 00 11 1E 0C 05 0F
2D 80 C8 06 02 58 00 00 00 00 00 00 28 0F 00 11 1E 0C 05 0F
.3(Down)
2C 02 60 0C 03 E8 00 C8 00 00 00 00 87 19 00 13 19 0C 05 0B
2C 82 60 0C 03 20 05 DC 00 00 00 00 87 19 00 13 19 0C 05 0B
2D 02 38 0C 03 20 00 00 00 00 00 00 87 19 00 13 19 0C 05 0B
2D 80 C8 0C 02 58 00 00 00 00 00 00 87 19 00 13 19 0C 05 0B
.4(Neutral)
2C 02 60 0E 03 E8 00 C8 00 00 00 00 B4 9E 00 11 07 8C 09 23
2C 82 60 0E 03 20 05 DC 00 00 00 00 B4 9E 00 11 07 8C 09 23
2D 02 38 0E 03 20 00 00 00 00 00 00 B4 9E 00 11 07 8C 09 23
2D 80 C8 0E 02 58 00 00 00 00 00 00 B4 9E 00 11 07 8C 09 23
.4(Up)
2C 02 60 0A 03 E8 00 C8 00 00 00 00 28 20 80 11 14 0C 05 23
2C 82 60 0A 03 20 05 DC 00 00 00 00 28 20 80 11 14 0C 05 23
2D 02 38 0A 03 20 00 00 00 00 00 00 28 20 80 11 14 0C 04 23
2D 80 C8 0A 02 58 00 00 00 00 00 00 28 20 80 11 14 0C 04 23
.4(Down)
2C 02 60 03 03 E8 00 C8 00 00 00 00 28 0A 00 11 01 0C 04 8F
2C 82 60 03 03 20 05 DC 00 00 00 00 28 0A 00 11 01 0C 04 8F
2D 02 38 03 03 20 00 00 00 00 00 00 28 0A 00 11 01 0C 00 8F
2D 80 C8 03 02 58 00 00 00 00 00 00 28 0A 00 11 01 0C 00 8F
2C 02 60 05 04 B0 00 C8 00 00 00 00 B4 A0 80 11 0A 0C 05 23
2C 82 60 05 03 E8 05 DC 00 00 00 00 B4 A0 80 11 0A 0C 05 23
2D 02 38 05 03 20 00 00 00 00 00 00 B4 A0 80 11 0A 0C 01 23
2D 80 C8 05 02 58 00 00 00 00 00 00 B4 A0 80 11 0A 0C 01 23


-------
Peach
-------
**F-Smash**
.(Club)
2C 03 68 0D 02 BC 00 00 03 84 00 00 16 8C 80 13 19 00 00 B3
2C 83 68 0D 02 BC 00 00 FF 9C 00 00 16 8C 80 13 19 00 00 B3
2D 02 B0 0D 02 BC 00 00 00 00 00 00 B4 8C 80 13 19 00 00 B3
2D 83 68 11 03 84 00 00 07 08 00 00 16 8C 80 13 23 00 00 B3
.(Pan)
2C 03 68 11 03 84 00 00 03 E8 00 00 28 0F 00 13 19 00 00 33
2C 83 68 0F 02 BC 00 00 00 00 00 00 28 0F 00 13 19 00 00 33
2D 02 B0 0F 02 BC 00 00 00 00 00 00 B4 8F 00 13 19 00 00 33
.(Racket)
2C 03 68 0C 04 7E 00 00 04 1A 00 00 0E 88 C0 13 25 80 01 33
2C 83 68 0C 03 20 00 00 00 00 00 00 0E 88 C0 13 20 80 01 33
2D 02 B0 0C 02 BC 00 00 00 00 00 00 0E 88 C0 13 20 80 01 33

**U-Smash**
2C 83 08 13 03 84 00 00 00 00 00 00 2D 19 00 13 14 00 11 0B
2C 03 20 0F 04 B0 00 00 00 00 00 00 2D 19 00 13 14 00 11 07
2D 00 00 08 02 58 00 00 07 D0 05 14 25 99 00 11 0F 00 10 87
2D 80 00 08 02 58 00 00 07 D0 FA EC 25 99 00 11 0F 00 10 87

**D-Smash**
2C 00 00 0E 03 84 00 00 01 90 07 D0 46 14 00 13 14 00 01 0B
2C 80 00 0E 03 84 00 00 01 90 F8 30 46 14 00 13 14 00 01 0B
2D 00 00 0C 03 84 00 00 01 F4 03 20 46 14 00 13 11 80 01 0B
2D 80 00 0C 03 84 00 00 01 F4 FC E0 46 14 00 13 11 80 01 0B

**N-Air**
2C 03 20 0E 02 58 00 00 00 00 00 00 B4 99 00 13 0A 00 01 0B
2C 82 50 0E 02 58 00 00 00 00 00 00 B4 99 00 13 0A 00 01 0B
2D 00 20 0E 03 84 00 00 00 00 00 00 B4 99 00 13 0A 00 01 0B
2C 03 20 0A 02 58 00 00 00 00 00 00 B4 99 00 13 00 00 01 0B
2C 82 50 0A 02 58 00 00 00 00 00 00 B4 99 00 13 00 00 01 0B
2D 00 20 09 03 84 00 00 00 00 00 00 B4 99 00 13 00 00 00 8B

**F-Air**
2C 02 50 0F 03 E8 00 00 00 00 00 00 B4 91 80 13 1E 00 01 07
2C 82 38 0F 03 20 00 00 00 00 00 00 B4 91 80 13 1E 00 01 07

**B-Air**
2C 00 20 0E 05 14 00 00 00 00 00 00 B4 99 00 13 00 00 01 0B
2C 00 20 0A 05 14 00 00 00 00 00 00 B4 96 80 13 05 00 01 0B

**U-Air**
2C 00 48 0E 04 29 00 00 00 00 00 00 28 1E 00 13 00 00 01 0B
2C 80 38 0C 03 A9 00 00 00 00 00 00 28 1E 00 13 00 00 01 0B
2D 00 20 0B 02 58 00 00 00 00 00 00 B4 9E 00 13 00 00 01 0B

**D-Air**
2C 00 78 03 05 14 00 00 00 00 00 00 2D 0C 80 13 08 00 00 87
2C 80 68 03 04 B0 00 00 00 00 00 00 2D 0C 80 13 06 00 00 87
2C 00 48 03 05 14 00 00 00 00 00 00 2D 0C 80 13 08 00 00 87
2C 80 38 03 04 B0 00 00 00 00 00 00 2D 0C 80 13 06 00 00 87


-------
Samus
-------
**U-Tilt**
2C 00 70 0D 05 14 FF 56 00 00 00 00 87 19 00 13 14 00 01 0A
2C 80 70 0D 05 14 06 40 00 00 00 00 87 19 00 13 14 00 01 0A
2D 00 70 0C 05 14 FF 56 00 00 00 00 B4 99 00 13 14 00 01 09
2D 80 70 0C 05 14 06 40 00 00 00 00 B4 99 00 13 14 00 01 09


-------
Zelda
-------
**D-Air**
2C 00 38 08 04 B0 00 00 00 00 00 00 89 99 00 13 02 80 00 87
2C 80 50 07 04 B0 00 00 00 00 00 00 89 94 00 13 00 00 00 87


 

bboylawson

Smash Cadet
Joined
Mar 18, 2005
Messages
29
^^ this here is impressive ****
the 2c at the beginning is prolly just a cookie to denote that it's attack related data.
some questions:
where do you find this data?
how do you change the landing lag?
what does hurtbox mean?
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,716
NNID
Tcll5850
Ok. A while ago, Qual discovered laser offsets around 00014000 in PlFx.dat. I, like many others, tampered with the data around that offset resulting in glitchy looking lasers that work on Dolphin, but freeze on a Wii. See: http://www.smashboards.com/showpost.php?p=9955380&postcount=1337

So I had already quit trying to change laser colours for a while, cuz all I could come up with was glitchy lasers, but yesterday, for no reason at all, I felt like makin' some blue lasers, and somehow, I did. o_O

Note: I am using the PlFx.dat file (AKA Fox) for my explanation, but don't worry; Falco works in the exact same way, just at different offsets (will specify later). You may also want to open up PlFx.dat and go to offset 00014000, so you can see the file for yourself and keep up with the explanation.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step one: Understanding the Laser data

In the game, a laser has 4 parts:
Part 1 = wide, transparent colour
Part 2 = thin, semi-transparent colour
Part 3 = very thin outline of opaque colour
Part 4 = very thin line of white in the middle.



Each "part" of a laser corresponds to its own group of hex data in the PlFx.dat file. Here is where each "part" of Fox's laser is located:

Part 1 of the laser is located at: beginning of offset 00013e20 - end of 00013e70 (60 bytes)
Part 2 : beginning of offset 00013ec0 - end of 00013f10 (60 bytes)
Part 3 : beginning of offset 00013f60 - end of 00013fb0 (60 bytes)
Part 4 : beginning of offset 00014000 - end of 00014060 (70 bytes)

Or you can just look at this picture.



Ignore all the yellow and blue, just see that in each of the 4 red brackets is a group of data that corresponds to the part of the laser that the number says.

Side note: Qual found out that changing the first three bytes (80 00 08) at offset 00014000 glitches the laser shape. This is true, not only for part 4 of the laser, but for 1, 2, 3 and 4. If you noticed, I underlined these bytes in blue, in the above the picture. They might determine the shape of the laser? Dunno, but I do know that if you try to change the hex in these bytes, the laser will be glitchy.

Onto the colours!

Step two: Changing Colour

The reason no one could find the laser's red colour in PlFx.dat is because the lasers are not coloured in the regular RR GG BB format, but in some other format which uses ## ## instead of ## ## ##. I know Steelia is at least a bit familar with it. It's the same colouring that you use to get rid of the magenta (fc1f) in a CSP file. I heard it's called CLR0 or RGBA or something.

Anyways, it doesn't really matter. I found which exact offsets you can alter without glitching the laser, so experiment away! I have highlighted them in yellow in the above picture. I didn't highlight anything in part 4 of the laser, cuz IMO, it should stay white. But experiment if you want!

TL;DR - Change the yellow highlighted hex into whatever you want, and the colour will change. I recommend using the same colour in each of the 3 parts.
would this help you out for your underlined bytes:
98 00 17 ; primitive flags, index count

Code:
primitiveFlags & 0xF8
 
0xB8 // points
0xA8 // lines
0xB0 // line strip
0x90 // triangles
0x98 // triangle strip
0xA0 // triangle fan
0x80 // quads
00 17 = 23 points

ignore the above if it's already been mentioned... :p

I found your post quite interesting...
I originally thought faces went by '## ## ## ## ## ##'
but these only go by '## ## ## ##' before the pattern repeates...

I'm curious as to how those work...

EDIT: I couldn't help but notice the triangle strip following the 2 quads (8 points) in the last block.

I've sorted the faces out of boredum...
may not be needed but whatever... -_-
Code:
 98 00 17 
22 FC 00 03 
23 FC 00 05 
21 FC 00 05 
23 FC 00 05 
25 FC 00 05 
23 FC 00 05 
26 FC 00 05 
22 FC 00 05 
20 FC 00 05 
22 FC 00 05 
1F FC 00 05 
21 FC 00 05 
24 FC 00 05 
25 FC 00 05 
27 FC 00 05 
26 FC 00 05 
27 FC 00 05 
20 FC 00 05 
1E FC 00 05 
1F FC 00 05 
1E FC 00 05 
24 FC 00 05 
27 FC 00 05 
00 00 00 00 00 00 00 00 00 00 01 3D B8 80 00 00 03 00 01 3E 
00 00 00 00 00 00 00 00 00 00 01 3F 18 00 01 3D A0 00 01 3E 60 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
98 00 17 
14 FC 00 15 
16 FC 00 15 
1A FC 00 15 
15 FC 00 15 
1A FC 00 15 
1B FC 00 15 
1A FC 00 15 
1D FC 00 15 
14 FC 00 15 
17 FC 00 15 
16 FC 00 15 
18 FC 00 15 
15 FC 00 15 
19 FC 00 15 
1B FC 00 15 
19 FC 00 15 
1C FC 00 15 
18 FC 00 15 
1C FC 00 15 
17 FC 00 15 
1C FC 00 15 
1D FC 00 15 
1B FC 00 15 
00 00 00 00 00 00 00 00 00 00 01 3D B8 80 00 00 03 00 01 3E A0 
00 00 00 00 00 00 00 00 00 01 3F B8 00 01 3D 68 00 01 3F 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
98 00 17 
0A FC 00 2F 
0B FC 00 2F 
10 FC 00 2F 
0D FC 00 2F 
10 FC 00 2F 
11 FC 00 2F 
10 FC 00 2F 
13 FC 00 2F 
0A FC 00 2F 
0C FC 00 2F 
0B FC 00 2F 
0E FC 00 2F 
0D FC 00 2F 
0F FC 00 2F 
11 FC 00 2F 
0F FC 00 2F 
12 FC 00 2F 
0E FC 00 2F 
12 FC 00 2F 
0C FC 00 2F 
12 FC 00 2F 
13 FC 00 2F 
11 FC 00 2F 
00 00 00 00 00 00 00 00 00 00 01 3D B8 80 00 00 03 00 01 3F 40 
00 00 00 00 00 00 00 00 00 01 40 78 00 01 3D 30 00 01 3F A0 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
80 00 08 
03 FF FF FF 
07 FF FF FF 
02 FF FF FF 
05 FF FF FF 
06 FF FF FF 
05 FF FF FF 
02 FF FF FF 
07 FF FF FF 
98 00 12 
05 FF FF FF 
04 FF FF FF 
03 FF FF FF 
01 FF FF FF 
07 FF FF FF 
08 FF FF FF 
07 FF FF FF 
09 FF FF FF 
06 FF FF FF 
09 FF FF FF 
05 FF FF FF 
09 FF FF FF 
04 FF FF FF 
00 FF FF FF 
01 FF FF FF 
00 FF FF FF 
08 FF FF FF 
09 FF FF FF
 

`DNS`

Smash Lord
Joined
May 27, 2008
Messages
1,042
Location
Brooklyn, New York
So i don't want to sound annoying by asking this again, but are any of the programs listed in the first post that are also Mac compatible? Or does anyone know some sort of program that allows Macs to read .exe files/programs? Help would be greatly appreciated :D
Use VirtualBox [or whatever the Mac equivalent is.. is it Parallels?] to run Windows (for lack of a better word) "inside" of your Mac OS.

edit: posted before reading the rest of the thread ._.
 

Sion

Island of Horizon
Joined
Dec 9, 2006
Messages
3,020
Location
Lotus Land, BC
Once you've done this, open it up and select "Write image to CD". Add the Melee ISO to the write queue, then insert your DVD-R (I've heard it works with DVD+R too). Set the write speed to 2x (higher speeds work too) then burn.
how viable is this? i've recently tried DVD+R and it didn't work
 

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
where do you find this data?
It's generally found in the character's Pl**.dat file, such as PlFx.dat for Fox. If it's for catchable items that the character uses like turnips and Link's bombs they might be in another file that's for item data (non-item projectiles like fireballs, missiles, lasers, etc should definitely be in their character file though). Maybe items would be in PlCo.dat (Co means common)?

how do you change the landing lag?
Landing lag, jump lag, and weight among other things are within their attributes, and are grouped near each other in their Pl**.dat. Here is a spreadsheet of Brawl's attributes which are much more known to get an idea. The starting location of their attributes varies from character to character. These are the offsets where they begin:


Attribute Starting Point Offsets
-----------|--------|
Character .| Offset |
-----------|--------|
Bowser ....| 0x3644 |
Capt Falcon| 0x3774 |
Donkey Kong| 0x39B0 |
Dr Mario ..| 0x3540 |
Falco .....| 0x37E4 |
Fox .......| 0x3714 |
G & W .....| 0x3614 |
Ganondorf .| 0x371C |
ICs(Nana) .| 0x1188 |
ICs(Popo) .| 0x32A4 |
Jigglypuff | 0x38BC |
Kirby .....| 0x4CE8 |
Link ......| 0x33FC |
Luigi .....| 0x33A0 |
Mario .....| 0x32D8 |
Marth .....| 0x3744 |
Mewtwo ....| 0x3750 |
Ness ......| 0x34E0 |
Peach .....| 0x3894 |
Pichu .....| 0x3454 |
Pikachu ...| 0x3584 |
Roy .......| 0x389C |
Samus .....| 0x3484 |
Sheik .....| 0x3418 |
Yoshi .....| 0x335C |
Young Link | 0x35A0 |
Zelda .....| 0x37F4 |
C Hand ....| 0x08B8 |
G Bowser ..| 0x34D0 |
M Hand ....| 0x0934 |
Sandbag ...| 0x1464 |
Wireframe-F| 0x2FF4 |
Wireframe-M| 0x31C8 |
---------------------



The vast majority of these attributes are 32 bit floats. You can find an online converter page HERE). For example, 3F800000 is 1. That page is for converting float->decimal, but there's also a link at the bottom for the page to convert decimal->float.

These are some attributes that I know so far. The offsets are in relation to the start of their attributes, so if you wanted N-Air Landing Lag (0x0E8) for Bowser (0x3644) it'd be at 0x372C.

Attribute Offsets from Starting Point
0x038 Jump Startup Lag
...
0x088 Weight
...
0x0E4 Empty Landing Lag
0x0E8 N-Air Landing Lag
0x0EC F-Air Landing Lag
0x0F0 B-Air Landing Lag
0x0F4 U-Air Landing Lag
0x0F8 D-Air Landing Lag


I'll probably post more on these later at some point. The aerial landing lag is for when it's not l-canceled. L-canceled lag would be half (rounded down) of what you put there.

what does hurtbox mean?
The hittable part of a character or object. The yellow bubbles.



 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
Dantarion's mewtwoda****.py
Parsing "./dats/Mario/PlMr.dat"
Header
---------
0x0 0x2f9b0
0x1 0x2c1a0
0x2 0xdf7
0x3 0x1
0x4 0x0
0x5 0x30303142
0x6 0x0
0x7 0x0

0x2f99cL
0x0 0x8de4
0x1 0x0
ftDataMario
Main Offset Table
---------
0x0 0x32b8
0x1 0x343c
0x2 0x0
0x3 0x6f20
0x4 0x6938
0x5 0x8b88
0x6 0x6b98
0x7 0x2534
0x8 0x2540
0x9 0x6e2c
0xa 0x0
0xb 0x2544
0xc 0x2558
0xd 0x6d48
0xe 0x6d50
0xf 0x6d78
0x10 0x6d90
0x11 0x6dc0
0x12 0x8dd4
0x13 0x2598
0x14 0x6ddc
0x15 0x6de4
0x16 0x6df8

0x0 0.10000000149
0x4 0.10000000149
0x8 1.10000002384
0xc 0.180000007153
0x10 0.439999997616
0x14 0.699999988079
0x18 0.0599999986589
0x1c 1.5
0x20 0.0599999986589
0x24 0.019999999553
0x28 1.5
0x2c 1.45000004768
0x30 30.0
0x34 3.0
0x38 Jump Startup Lag 4.0
0x3c 1.0
0x40 2.29999995232
0x44 0.800000011921
0x48 1.5
0x4c 1.39999997616
0x50 1.0
0x54 0.899999976158
0x58 2.80259692865e-45
0x5c 0.0949999988079
0x60 1.70000004768
0x64 0.0250000003725
0x68 0.019999999553
0x6c 0.860000014305
0x70 0.01600000076
0x74 2.29999995232
0x78 3.0
0x7c 24.0
0x80 24.0
0x84 4.0
0x88 Weight 100.0
0x8c 1.10000002384
0x90 10.75
0x94 2.5
0x98 0.0
0x9c 16.0
0xa0 0.0
0xa4 1.40129846432e-45
0xa8 1.0
0xac 2.29999995232
0xb0 1.0
0xb4 1.0
0xb8 0.20000000298
0xbc 2.0
0xc0 0.0
0xc4 6.0
0xc8 0.0
0xcc 0.0
0xd0 9.0
0xd4 0.0
0xd8 6.0
0xdc 2.20000004768
0xe0 17.0
0xe4 Empty Landing Lag 4.0
0xe8 N-Air Landing Lag 16.0
0xec F-Air Landing Lag 21.0
0xf0 B-Air Landing Lag 15.0
0xf4 U-Air Landing Lag 15.0
0xf8 D-Air Landing Lag 23.0
0xfc 20.0
0x100 0.5
0x104 1.29999995232
0x108 2.29999995232
0x10c 1.0
0x110 0.800000011921
0x114 0.40000000596
0x118 1.39999997616
0x11c 0.0
0x120 -0.40000000596
0x124 1.39999997616
0x128 0.0
0x12c 1.0
0x130 0.0
0x134 1.5
0x138 0.0
0x13c 1.0
0x140 3.34999990463
0x144 1.0
0x148 0.5
0x14c 8.19999980927
0x150 -1.70000004768
0x154 -2.5
0x158 2.29999995232
0x15c 1.0
0x160 1.0
0x164 1.0
0x168 1.0
0x16c 7.00649232162e-45
0x170 0.0
0x174 2.0
0x178 0.0
0x17c 0.0
0x180 0.0
 

nube

Smash Apprentice
Joined
Jun 20, 2010
Messages
166
@ Tcll (or anyone who cares, lol)

Uh, just like the lasers, I found the exact offsets that colour Ness' PK Flash:
(sry, bad quality)


I don't really know what you're talking about with face data or w/e, but I thought I might write up another "guide" thing for the PK Flash, to maybe help you/anyone with understanding some of this hex data. Would that be useful/helpful? It's too late for me to do it now, in any case.

In other news/random notes:
-Milun didn't actually disappear? He hasn't posted here in so long; someone ask him to finally get rid of those annoying bricks in his vertex edit of MK I ^^

-I started looking for Captain Falcon's offsets for attack colourations (falcon punch, kick, boost, dive), but I have a feeling they might simply be given the "attribute" of fire, as Magus described? dunno. Anyways, I stopped looking for that and started looking for Marth's shield breaker colours, and also had no success. But just now, as I scanning through PlFx.dat, I found a place where the hex data looks very suspiciously like an attack colouration. So tommorow, we'll see if this leads to anything. I hope it's the firefox colour :)

-Rainbow Destination will be uploaded tomorrow (just one minor change left, and its too late right now)
 

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
515
Location
Australia
In other news/random notes:
-Milun didn't actually disappear? He hasn't posted here in so long; someone ask him to finally get rid of those annoying bricks in his vertex edit of MK I ^^
To quote Rare: "Somebody call for meh?".

Well yes, I'm still around the hacking scene (kudos on the discoveries made btw), I've just been frequenting a different forum.

And in response to your MK1 question: believe me, I'm trying, but those... (suppressed anger) blocks don't want to budge. My hopes are to release a program that can move them, the platforms and stage width around, all of which I know how to do (well, sort of when it comes to moving the platforms) except the blocks. I'm just as sad as you, it's my first hack and I want to make it work. :(

Besides, I've managed to accomplish this:

 

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
Here's the complete list of elements:

00 .Normal
04 .Fire
08 .Electric
0C .Slash
10 .Coin
14 .Ice
18 .Sleep
1C .Sleep
20 .Grounded
24 .Grounded
28 .Cape
2C .Empty (Gray hitbox that doesn't hit)
30 .Disabled (M2's disable, shieldbreak)
34 .Darkness
38 .Screw Attack (same effect like when you throw it at them)
3C .Poison/Flower
40 .Nothing (no graphic on hit)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,716
NNID
Tcll5850
I don't really know what you're talking about with face data or w/e, but I thought I might write up another "guide" thing for the PK Flash, to maybe help you/anyone with understanding some of this hex data. Would that be useful/helpful? It's too late for me to do it now, in any case.
actually...
I'm new to hacking...
I work more with data conversion...
(trying to get the models to use)
eg:


so if the face data works as such
## ## ## ##
what about face data like this:
## ## ## ## ## ##
I thought it was:
vert, normal, UV
## ## ## ## ## ##

but now I'm being shown that faces can have color data...
hmm...

what could be the format??

lol I took a break from melee to build an mdl0 import/export script for blender...
but look at me now XD
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,716
NNID
Tcll5850
Here's the complete list of elements:

00 .Normal
04 .Fire
08 .Electric
0C .Slash
10 .Coin
14 .Ice
18 .Sleep
1C .Sleep
20 .Grounded
24 .Grounded
28 .Cape
2C .Empty (Gray hitbox that doesn't hit)
30 .Disabled (M2's disable, shieldbreak)
34 .Darkness
38 .Screw Attack (same effect like when you throw it at them)
3C .Poison/Flower
40 .Nothing (no graphic on hit)
AWSOME :D
can't wait for a PSA editor for melee :)
 

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
515
Location
Australia
Remake Kingdom... is... COMPLETE!

(All textures (except one) are using Steelia's Smash Bros. 64 hack, because it seemed appropriate. All credit to Steelia on that part; thanks, those textures look great for this hack!)



Here's what I changed:

* Lifts are now lower; Their string is longer and more out of the way.
* NO MORE BLOCKS!
* Upper blast line sliiiiiiiiiiiiiiiiightly higher. This was mainly due to Fox always getting easy kills on the stage anOH NO THE TOURNAMENT PLAYERS WILL GET ME FOR CHANGING A BANNED STAGE! :p
* Lower blast line sliiiightly lower.
* Blocks don't respawn, but then again, they're never there in the first place.

One problem left: I still can't change the characters (players 1 & 2) spawn points. But I'll leave that for another day, as since the lifts are now lower, it's even easier than before to make the jump (just be sure to be in controller port 3 or 4 when playing all-star melee).

Here's your link: http://www.megaupload.com/?d=N883HBTJ

Enjoy, and once more, thanks to Steelia for texture hack, and all the members down at EmuTalk for all their help along the way.
 

S l o X

Smash Champion
Joined
Aug 17, 2009
Messages
2,838
Location
bridgeport, ct
I'm getting something very similar to that.
I don't know where to put the stuff from offset 20 to offset 220.
Help?
Re-try. I got that and I deleted the thing and did it completely over, the second time I made SURE I didn't make any mistakes and it worked out perfectly, then I realized how much ****ing time it took to make ONE and gave up on doing the entire cast.
 

nube

Smash Apprentice
Joined
Jun 20, 2010
Messages
166
Sorry for the delay ppl - I wanted to post my PK Flash stuff and upload Rainbow FD at the same time yesterday, but I ended up doing neither :) Eh, PK Flash can wait. Finally, here is the new Rainbow FD!

(new) Rainbow FD: Download




The old one was too...green. Also, I hope no one's disappointed by the first background scene, I couldn't change the dark blue/purple colour, so that was the best I could come up with. Oh, and the words on that green bar, if you can't see, are "Melee 4 Life". You can't really read the words in-game, unless you pause and zoom.



Btw, this song goes soo well with the stage:
Youtube
Download
_______________________________________________________________________________
@Milun:
Awesome job on the stage! Do you think you could add back the blocks on the sides? I actually thought that they add to the gameplay on the stage, unlike the blocks over the middle of the stage. Also, could the lift positions be raised just a bit, so that one can wavedash backwards to the edge, without the lift getting in the way? Btw you definitely need to upload your crazy-eyed blue jiggs ^^

@Steelia:
bad news :(
Even disregarding the improbability of finding the correct hex offsets for Zelda's legs within the correct file, it would basically be impossible anyways for me to find Zelda's leg colours, because of the method I have been using to find hex offsets for colour and stuff. Sorry... I will explain further in another post. (I'll still try looking though)

@Magus:
Q: Do the fire and darkness elements have completely identical effects? In other words, is red flames vs purple flames the only difference between the two? Or are there any effects such as additional hitlag, etc, that only one of those elements has?

Cuz if they are completely identical to each other than colour, I would love to see ALL of the fire/darkness attacks switched ^^ Dark Flare Blade, anyone?
 

smakis

Smash Ace
Joined
Jun 30, 2008
Messages
747
asked this a long time ago and it was ignored, probably because no one knew how to do it or that it wasnt important so here i go again

is it possible (now) to alter the stage select screen and a random page like special melee?

What i would like to do is two things, to edit "special melee" into "rules" and when pressing rules get a page with just that, the rules for the tournament. The second thing is editing the stage selectscreen, all the banned stages would be grey (still pickable, just grey), counterpick some other color. If you could add text when hovering over the stageselect it would just be...delicious, like hovering over FoD it would say

Singles: Counterpick
Teams: Banned
 

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
515
Location
Australia
@Milun:
Awesome job on the stage! Do you think you could add back the blocks on the sides? I actually thought that they add to the gameplay on the stage, unlike the blocks over the middle of the stage. Also, could the lift positions be raised just a bit, so that one can wavedash backwards to the edge, without the lift getting in the way? Btw you definitely need to upload your crazy-eyed blue jiggs ^^
About the Jigglypuff, that was actually a Sonic model hack gone wrong (If you look, you can see she has spines on her back). Her eyes were Sonics, but since they weren't mirrored, her left eye was facing in the wrong direction, so I gave up on it.
 

smakis

Smash Ace
Joined
Jun 30, 2008
Messages
747
about what i posted earlier, i messed around in dolphin and managed to dump all the stage select images, i even managed to dump the special melee button but i dont know how to actually replace the whole screen once you press special melee.

now for the point of this post, how do i know which dat file the stage images are in?

edit: about the ruleset page, can you change sizes of the images? like on the start screen, can i change "super smash brothers" to make it cover the entire screen?
 

Vyzor

Smash Journeyman
Joined
Mar 15, 2010
Messages
389
Location
St.Marys, Ontario
k so, i burned SSBM to a disc. Uhh, it was in gcm format not iso or w/e, and it didnt work. Also I did the tutorial so i can play backed up games too. After I checked the disc i burned it to, and it didnt show anything. Can I get some help? :O
 

The Good Doctor

Smash Champion
Joined
Oct 7, 2007
Messages
2,360
Location
Midwest<3
k so, i burned SSBM to a disc. Uhh, it was in gcm format not iso or w/e, and it didnt work. Also I did the tutorial so i can play backed up games too. After I checked the disc i burned it to, and it didnt show anything. Can I get some help? :O
Did you touch your computer during the burning?
Have you tried other games?
Try to rename the file so it's an ISO, that's what I did...
 
Top