Rejjae
Smash Apprentice
OK, I did a forum search and found nothing similar, so I'm gonna post this finding myself in case no one else has yet.
We all know that you can stick texture maps in for characters to change their appearance, but here's where it gets funky:
My friend and I were putting texture maps in, and one map got mistakenly put on the wrong character. I'm pretty sure it was a Diddy texture that went on DK as they both have the initials d.k. but the texture never actually worked on Diddy.
I don't know who he is but my friend said the texture was of Wacko from Animaniacs (doesn't ring any bells for me), if anyone was curious.
Now for the important find: putting texture maps on uninteded characters causes some weird effects not just graphically (although elongated skinny karate outfit DK with Snake's face was exceedingly amusing), it has funky effects on character hitboxes, some teleportation craziness, and glitchiness with shields and ledgegrabbing.
I'll list a few of the main things that we've found while switching things around:
* 1st point is that a large chunk of swaps won't work and will freeze the game where the character makes its entrance on the screen.
* Second is that while this is inherently similar to moveset swapping, there are a bunch of differences, so I'm assuming that playing with this for a bit will yield some stuff that hasn't been found with just moveset swapping (and we couldn't make the infamous Longchu, Pika-on-Ganon textures freeze the game).
* We tried the Wacko texture on every character just to have a used single texture on all characters, so a lot of these are based on that texture, although some are from other swap combinations
Now for the more detailed points:
Teleport-Walking:
A lot of the swaps resulted in the creation of "teleport-walkers." Basically what happens is if they walk, after moving a certain distance or stopping/performing another action, they warp back to where they were standing. Rolling also has his effect (yea, rolls become slow ground-dodges).
The marker for their nametag remains where they were standing and they teleport back to it. They can move just fine by jumping and the marker moves with them.
If they run, the marker moves with them a certain distance then stops while they keep going on a "teleport-run" (same behaviour as walk but faster). Foxtrotting works fine since they stop the dash then restart so the marker stays with them. Characters can run way off edges if the marker stops before the edge (they just warp back after the run).
This is most likely connected to the already existing teleport code, although this has some of its own weird behaviours.
Shield Freakiness:
A lot of swaps have a wierd effect involing shielding, where character body parts enlarge to ridiculous proportions (here come the crude sexual jokes ^^) and shrink back to normal as their shield shrinks. We've had a giant left foot explode through the floor and a huge floating sleeve from someone's arm, to name a few examples. Giant extending parts are only a graphic effect so you can't hit them.
Some characters have their shield appear separate from them, one of them shielded and the bubble was 2 feet behind him. Not just a graphic effect this time, their frame is hittiable and they get knocked out of their shield, the shield is hittable and they act as if they would normally, just out of position. If a move hitbox is big enough to hit both the shield and the character, if it hits the shield first it passes through the character, I guess thats a given based on how the shields in this game work.
Insta-Freeze:
Many characters have properties that will instantly freeze the game in the middle of a match. Yea, even if a swap works, doesn't mean it's stable... This entire section is based on the Wacko texture, so it's not exactly extensive.
If Mario uses the Fludd, Ike uses Aether, Ivysaur up-B, the game freezes, although most projectiles work, Fox/Falco's lasers froze it as soon as 'B' was pressed. It seems there's nothing wrong with projectiles as they appear out of nowhere, but if the character has to take an object out then there are problems.
UNTOUCHABLE-WACKO-SQUIRTLE!!!!!! Yea, he works fine mostly with the one problem that if another character touches them the game freezes and by touch I mean it doesn't even have to be an attack, if their frames make contact this triggers.
Marth:
Wacko texture on Marth gave some of the most messed effects so he gets his own section.
He appears just fine in his new texture, but he doesn't have his sword since there's no texture for that, so he swings an empty hand around. It's funny how the game knows he has no sword and thus he has almost no hitbox on any of his attacks as he'll only connect if this hand itself touches them. A similar effect happened for Ike where none of his moves could land unless someone was directly up close to him, with the exception of his 'B' since the hitbox for that is caused by the flame.
Marth also had messed up grab properties where if you threw him, he would disappear and a big diagonal streak would sit in front of the screen until marth appeared again, sometimes he'd be gone the rest of the match, others he'd be back eventually. You could still hear sound from his attacks while he's in this state but he doesn't go anywhere. Also if the spring item is on and there's one one the stage, marth instantly warps to it when thrown.
Anti-Jump:
Lucas and Ness got a wierd teleport property where if they used their second jump, they'd warp down to the same y-coordinate that they started the jump from, but keep any distance on the x-axis that they moved. They warp after they reach the peak of their jump, or if they attack from the jump.
Most characters had a similar effect with their Up-B if they had a 'quick jump' Up-B (Marth, Charizard, Mario/Luigi), where they'd warp back to the same spot that they Up-B from when the animation ended.
Other Findings:
Pika texture on DK was fully functional and worked normally except for wierd shape and messed hitboxes, this and the swordless Marth/Ike results lead me to believe that a lot of move hitboxes are connected to the character frame rather than to the move's individual properties (just a theory, moves with wierd hitboxes like Snake's Up-tilt might have a separate object performing the hit like the fire from Ike's Eruption, but invisible)
Squirtle's 'B' fires 2 inches in front of him, it's basically a charge up taunt. No clue how this can be explained...
Conclusions:
Basically, I haven't had any experience hacking Brawl's game code (yet), so I can only take guesses at how things work. My assumption is that most of the glitchiness stems from something similar to a buffer overflow. Game freezes are probably from the texture data not matching up to what the game wants to load, which would be consistent with the freezes when a character tries to pull out a gun/fludd. Since a lot of the glitchyness involved locations (teleporting & displaced shields), part of the code that tracks character location is in memory next to the texture data, and gets messed with when the texture reads out of bounds.
I hope this can be of some use to anyone out there. I dunno what can be done with it, there are already functioning teleport codes, and I don't know exactly what there is currently in terms of hitbox editing. Maybe someone could extend what we found to make differnently teleporting characters specific to certain costumes if they figured out how the code between the two lined up, or costumes with alternate move hitboxes (Ike with a scythe?).
I might add more to this later if anything new comes up.
We all know that you can stick texture maps in for characters to change their appearance, but here's where it gets funky:
My friend and I were putting texture maps in, and one map got mistakenly put on the wrong character. I'm pretty sure it was a Diddy texture that went on DK as they both have the initials d.k. but the texture never actually worked on Diddy.
I don't know who he is but my friend said the texture was of Wacko from Animaniacs (doesn't ring any bells for me), if anyone was curious.
Now for the important find: putting texture maps on uninteded characters causes some weird effects not just graphically (although elongated skinny karate outfit DK with Snake's face was exceedingly amusing), it has funky effects on character hitboxes, some teleportation craziness, and glitchiness with shields and ledgegrabbing.
I'll list a few of the main things that we've found while switching things around:
* 1st point is that a large chunk of swaps won't work and will freeze the game where the character makes its entrance on the screen.
* Second is that while this is inherently similar to moveset swapping, there are a bunch of differences, so I'm assuming that playing with this for a bit will yield some stuff that hasn't been found with just moveset swapping (and we couldn't make the infamous Longchu, Pika-on-Ganon textures freeze the game).
* We tried the Wacko texture on every character just to have a used single texture on all characters, so a lot of these are based on that texture, although some are from other swap combinations
Now for the more detailed points:
Teleport-Walking:
A lot of the swaps resulted in the creation of "teleport-walkers." Basically what happens is if they walk, after moving a certain distance or stopping/performing another action, they warp back to where they were standing. Rolling also has his effect (yea, rolls become slow ground-dodges).
The marker for their nametag remains where they were standing and they teleport back to it. They can move just fine by jumping and the marker moves with them.
If they run, the marker moves with them a certain distance then stops while they keep going on a "teleport-run" (same behaviour as walk but faster). Foxtrotting works fine since they stop the dash then restart so the marker stays with them. Characters can run way off edges if the marker stops before the edge (they just warp back after the run).
This is most likely connected to the already existing teleport code, although this has some of its own weird behaviours.
Shield Freakiness:
A lot of swaps have a wierd effect involing shielding, where character body parts enlarge to ridiculous proportions (here come the crude sexual jokes ^^) and shrink back to normal as their shield shrinks. We've had a giant left foot explode through the floor and a huge floating sleeve from someone's arm, to name a few examples. Giant extending parts are only a graphic effect so you can't hit them.
Some characters have their shield appear separate from them, one of them shielded and the bubble was 2 feet behind him. Not just a graphic effect this time, their frame is hittiable and they get knocked out of their shield, the shield is hittable and they act as if they would normally, just out of position. If a move hitbox is big enough to hit both the shield and the character, if it hits the shield first it passes through the character, I guess thats a given based on how the shields in this game work.
Insta-Freeze:
Many characters have properties that will instantly freeze the game in the middle of a match. Yea, even if a swap works, doesn't mean it's stable... This entire section is based on the Wacko texture, so it's not exactly extensive.
If Mario uses the Fludd, Ike uses Aether, Ivysaur up-B, the game freezes, although most projectiles work, Fox/Falco's lasers froze it as soon as 'B' was pressed. It seems there's nothing wrong with projectiles as they appear out of nowhere, but if the character has to take an object out then there are problems.
UNTOUCHABLE-WACKO-SQUIRTLE!!!!!! Yea, he works fine mostly with the one problem that if another character touches them the game freezes and by touch I mean it doesn't even have to be an attack, if their frames make contact this triggers.
Marth:
Wacko texture on Marth gave some of the most messed effects so he gets his own section.
He appears just fine in his new texture, but he doesn't have his sword since there's no texture for that, so he swings an empty hand around. It's funny how the game knows he has no sword and thus he has almost no hitbox on any of his attacks as he'll only connect if this hand itself touches them. A similar effect happened for Ike where none of his moves could land unless someone was directly up close to him, with the exception of his 'B' since the hitbox for that is caused by the flame.
Marth also had messed up grab properties where if you threw him, he would disappear and a big diagonal streak would sit in front of the screen until marth appeared again, sometimes he'd be gone the rest of the match, others he'd be back eventually. You could still hear sound from his attacks while he's in this state but he doesn't go anywhere. Also if the spring item is on and there's one one the stage, marth instantly warps to it when thrown.
Anti-Jump:
Lucas and Ness got a wierd teleport property where if they used their second jump, they'd warp down to the same y-coordinate that they started the jump from, but keep any distance on the x-axis that they moved. They warp after they reach the peak of their jump, or if they attack from the jump.
Most characters had a similar effect with their Up-B if they had a 'quick jump' Up-B (Marth, Charizard, Mario/Luigi), where they'd warp back to the same spot that they Up-B from when the animation ended.
Other Findings:
Pika texture on DK was fully functional and worked normally except for wierd shape and messed hitboxes, this and the swordless Marth/Ike results lead me to believe that a lot of move hitboxes are connected to the character frame rather than to the move's individual properties (just a theory, moves with wierd hitboxes like Snake's Up-tilt might have a separate object performing the hit like the fire from Ike's Eruption, but invisible)
Squirtle's 'B' fires 2 inches in front of him, it's basically a charge up taunt. No clue how this can be explained...
Conclusions:
Basically, I haven't had any experience hacking Brawl's game code (yet), so I can only take guesses at how things work. My assumption is that most of the glitchiness stems from something similar to a buffer overflow. Game freezes are probably from the texture data not matching up to what the game wants to load, which would be consistent with the freezes when a character tries to pull out a gun/fludd. Since a lot of the glitchyness involved locations (teleporting & displaced shields), part of the code that tracks character location is in memory next to the texture data, and gets messed with when the texture reads out of bounds.
I hope this can be of some use to anyone out there. I dunno what can be done with it, there are already functioning teleport codes, and I don't know exactly what there is currently in terms of hitbox editing. Maybe someone could extend what we found to make differnently teleporting characters specific to certain costumes if they figured out how the code between the two lined up, or costumes with alternate move hitboxes (Ike with a scythe?).
I might add more to this later if anything new comes up.