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

Hurtbox Research

Isatis

If specified, this will repl[0x00000000]ce the
Premium
BRoomer
Joined
Dec 18, 2008
Messages
10,253
Location
San Francisco, CA
NNID
reverite
Posting for InnocentRoad:

[collapse=Skype Conversation][3/28/2011 10:42:09 PM] Toomai: Oh wow I just realized, the flags for UnknownT that Tabuu generates have the wrong endianness.
[3/28/2011 10:42:16 PM] Toomai: That's a rookie mistake.
[3/28/2011 10:43:59 PM] BioSonic: hm?
[3/28/2011 10:45:01 PM] Toomai: When Tabuu says a hurtbox's flags are "890A", it actually should say "0A890000".
[3/28/2011 10:45:26 PM] BioSonic: ooh
[3/28/2011 10:46:28 PM] Toomai: Luckily I had already written them down from last time I was looking for hurtboxes.
[3/28/2011 10:53:02 PM] BioSonic: as soon as the flags are fully cracked, want me to make/test/record a PAC with sword glow's for the hurtbubble stuff?
[3/28/2011 10:53:49 PM] Toomai: Sure. Still don't have any idea what the first three floats are, but that may help.
[3/28/2011 10:54:38 PM] BioSonic: yeah... i'm trying to think if there's anything else in Tabuu that references other variables
[3/28/2011 10:55:27 PM] Toomai: By the way, the hurtbox data starts at 0x17e80 for Mario.
[3/28/2011 10:55:49 PM] Toomai: Pretty much directly after all hitboxes.
[3/28/2011 10:56:01 PM] BioSonic: interesting
[3/28/2011 10:59:27 PM] Toomai: So I think the flags go like this: Bits 1-9 are the parent bone. Bits 10-13 look to control whether a hurbox is high/mid/low (this isn't confirmed, since Mario's lower arms and legs have two set bits here instead of the expected one). Bit 16 looks to be always true.
[3/28/2011 11:05:26 PM] BioSonic: so if bits 10-13 control that, why does it need a high/mid/low difference? and bit 16 may be an on/off switch for the hurtbox?
[3/28/2011 11:05:51 PM] BioSonic: parent bone is hex or decimal?
[3/28/2011 11:05:51 PM] RocketPSIence: SSE?
[3/28/2011 11:06:35 PM] Toomai: When I say bits 1-9 are parent bone, why do you ask if it's in hex or decimal? :p
[3/28/2011 11:06:46 PM] RocketPSIence: lmao
[3/28/2011 11:07:23 PM] BioSonic: nvm lol
[3/28/2011 11:12:49 PM] Toomai: I am prepared to guess that the first three floats are some sort of stretch factor.
[3/28/2011 11:14:00 PM] Toomai: If I'm correct, leaving them 0 makes the hurtbox remain perfectly spherical, while changing them causes the hurtbox to extend that far, becoming a round-cap tube.
[3/28/2011 11:14:30 PM] BioSonic: so, in that case, Sword Glow's are pretty much useless in that endeavour
[3/28/2011 11:14:59 PM] RocketPSIence: how often are the first three floats used?
[3/28/2011 11:15:54 PM] Toomai: About a third of the time for Mario.
[3/28/2011 11:16:44 PM] Toomai: They're mostly in the +- 0.2-0.5 range, but looks like they can go up to 2.
[3/28/2011 11:16:49 PM] Toomai: (and possibly/probably more)
[3/28/2011 11:17:02 PM] RocketPSIence: :c
[3/28/2011 11:17:47 PM] Toomai: A glance at Luigi shows that the one attached to his head has a (temporary) Y-stretch of +3.
[3/28/2011 11:19:53 PM] Toomai: In total the "stretch floats" are used for 6/11 of Luigi's hurtboxes and for 7/33 of the values.
[3/28/2011 11:21:22 PM] Toomai: I think if you were to do a swordglow hack you can try putting two glows - one at the offset point and another of the same size with an extra offset of the stretch values.
[3/28/2011 11:21:49 PM] RocketPSIence: I'm guessin' swrod glow doesn't have a stretch? :<
[3/28/2011 11:21:56 PM] BioSonic: but would it cover stuff in between?
[3/28/2011 11:22:16 PM] Toomai: It wouldn't cover stuff in between but would probably be good enough visually.
[3/28/2011 11:22:29 PM] Toomai: If only to see if this is all correct.




[3/31/2011 11:30:00 PM] Toomai: So I think I've got hurtboxes documented in most important ways. http://i52.tinypic.com/csqw5.png (disclaimer: drawing, not hack)
[3/31/2011 11:34:58 PM] Kendall: oh yeah, what's goin on w/ the hurtbox stuff
[3/31/2011 11:35:08 PM] Kendall: is it actually done? or still in progress?
[3/31/2011 11:35:13 PM] RocketPSIence: how were you able to figure out the stretch factor in the picture?
[3/31/2011 11:36:45 PM] (Lux): Tell us in a google wave
[3/31/2011 11:36:55 PM] RocketPSIence: looool
[3/31/2011 11:37:15 PM] Toomai: I drew the stretch factor by making thick lines with round caps, if that's what you mean.
[3/31/2011 11:37:26 PM] RocketPSIence: nah, like
[3/31/2011 11:37:27 PM] Toomai: Hurtbox stuff in general is complete enough for people to have fun with it.
[3/31/2011 11:37:33 PM] RocketPSIence: how did you figure out how far to stretch it?
[3/31/2011 11:37:56 PM] Toomai: Hurtboxes have seven floats - the first three are position, 4-6 are stretch, and 7 is size.



[4/1/2011 11:29:20 PM] RocketPSIence: do we have a reliable method to make them visible in game?
[4/1/2011 11:29:29 PM] Toomai: Heck no.
[4/1/2011 11:29:32 PM] Toomai: As far as I can tell.
[4/1/2011 11:29:40 PM] RocketPSIence: lol
[4/1/2011 11:29:55 PM] Toomai: They're basically cubes with rounded corners.
[4/1/2011 11:30:23 PM] RocketPSIence: cubes?
[4/1/2011 11:30:27 PM] Toomai: You could always replace the character model with a model that visualizes them.
[4/1/2011 11:30:28 PM] RocketPSIence: I thought it was more like
[4/1/2011 11:30:34 PM] RocketPSIence: cylinders with curved edges
[4/1/2011 11:30:42 PM] E_alert: yeah
[4/1/2011 11:30:51 PM] Toomai: Well yes, but if you stretch it in all 3 dimensions it becomes a cube.
[4/1/2011 11:31:00 PM] Toomai: Most are only stretched in 1, so they're tubes.
[4/1/2011 11:31:05 PM] RocketPSIence: oh, gotcha
[4/1/2011 11:31:22 PM | Edited 11:31:28 PM] Toomai: Interestingly, it means you can't make a flat round hurtbox.
[4/1/2011 11:31:49 PM] Toomai: Because you can't compress them, so you have to make the radius small and then stretch it, which results in a square.
[4/1/2011 11:31:54 PM] RocketPSIence: my head hurts
[4/1/2011 11:32:14 PM] BioSonic: So there wouldn't be a way to get them in-game, even if we were to stretch the superscope mdl0... because we'd need to do it for each?
[4/1/2011 11:32:35 PM] BioSonic: or even at all because it's misleading?
[4/1/2011 11:32:44 PM] Toomai: Each hurtbox (excepting mirror images) would need its own model to be exactly correct.
[4/1/2011 11:33:50 PM] E_alert: I think it would be sufficient to draw a scope ball at each "corner"
[4/1/2011 11:33:57 PM] Toomai: Probably.
[4/1/2011 11:33:58 PM] E_alert: at least then we can patch it up in photoshop or something[/collapse]

Toomai, I'm not sure if you want to post all of your notes?
 

Luxor

Smash Champion
Joined
Jul 13, 2009
Messages
2,155
Location
Frame data threads o.0
Cool, once I finally finish the stage data maybe I can help with this.

Is Smash Lab viewable by non-Smash Labbers now? I see 14 guests and now I remember something about that.
 

Isatis

If specified, this will repl[0x00000000]ce the
Premium
BRoomer
Joined
Dec 18, 2008
Messages
10,253
Location
San Francisco, CA
NNID
reverite
It shouldn't be. I invited InnocentRoad into the Smash Lab, and I posted the link to this thread on his twitter. The spiderbots (Google/Yahoo/Bing and all of that) are probably trying to get to this page but failing, despite vBulletin counting it as a guest :p
 

Toomai

Smash Ace
Joined
Aug 17, 2006
Messages
769
Location
Someplace in Canada
Here's the short form of what I know:
  • Hurtboxes are typically found in a character file closely following their last subaction and/or article. They take the form of seven floats and a set of flags; in Tabuu they show up as "UnknownT".
  • The floats are these:
    • 1: X-Offset
    • 2: Y-Offset
    • 3: Z-Offset
    • 4: X-Stretch
    • 5: Y-Stretch
    • 6: Z-Stretch
    • 7: Radius
  • The flags are these:
    • Bits 1-9: Attached bone.
    • Bits 10-13: Unknown but certainly related to what part of a character's body it is:
      • Bodies, torsos, and upper arms are usually 0001.
      • Heads and facial features are usually 0010.
      • Lower arms are usually 0101.
      • Legs and feet are usually 1100.
    • It's probably a given that these bits determine whether a character should play a DamageHi, DamageN, or DamageLw animation, but it's unclear how this works.
    • Bit 16: Unknown; looks to be always 1. Possibly whether the hurtbox is active (for debugging purposes, it would be easier then removing it and changing the file size).
    • Warning: Tabuu displays these flags wrong. For example, if it displays "890A", it actually means "0A890000". To get the correct value, right-click each hurtbox and open the hex view.
  • As posted above, an example hurtbox drawing (not a hack) would look like this:
  • Since hurtboxes are (on average) not spherical, the "put Super Scope balls where they are" hack visualization method won't entirely work. You'd have to put one ball at each corner, and it wouldn't look perfect.
 

InnocentRoad

Smash Cadet
Joined
Aug 26, 2008
Messages
32
Location
Japan
Thank you.
It is hard to be a stretch.

HitBox is connected to the sphere of the current frame and previous frames as well.
So now I can not draw the true shape.
 

InnocentRoad

Smash Cadet
Joined
Aug 26, 2008
Messages
32
Location
Japan
It is difficult to express Hurtbox only by Graphic Effect.
I think you can make it, use Article or make NewEffect one by one.
 

KayLo!

Smarter than your average wabbit.
Joined
Dec 9, 2008
Messages
15,480
Location
Philadelphia, PA
3DS FC
3497-1590-7447
I didn't understand half of what I read, but finally having visible hurtboxes (even if they're a lil rough) would be amazing.
 

Isatis

If specified, this will repl[0x00000000]ce the
Premium
BRoomer
Joined
Dec 18, 2008
Messages
10,253
Location
San Francisco, CA
NNID
reverite
Posting to say, if you want to post this in the Workshop then go ahead :p
 
Top Bottom