This is a direct conversion of this Google Document. It needs to be cleaned up.
This is a page dedicated to providing descriptions for the various Files within the SSBM Disc, called the SSBM ISO. There are also tables of Memory Addresses/Hexidecimal References for various Pieces of Data in the game.
Note: the files and naming scheme used throughout this document are based on the tool wit. The equivalents for output from gcr are put Angled Brackets < > in where applicable.
sys <&&systemdata>
- main.dol - main executable, where most of the code and game logic resides
- A decompilation project exists for SSBM and can be found at this GitHub repository.
- boot.bin - GAMEID (GALE01), name, and description are stored here
- also runtime offsets and sizes of important files like main.dol and fst.bin, which is important to know if you significantly change the size of either of those
- bi2.bin - secondary boot, not much to say.
- apploader.img - nintendo official apploader, nothing (that I can think of) has come out of hacking it
- fst.bin - file system table, table of all the files in /files, and their names
- also holds offsets and sizes, so if you significantly change a file size, it has to be represented in the fst.bin
Some more info can be found at YAGCD:Ch13 DVD Structure
Most gamecube iso rebuilders will fix fst.bin and boot.bin automagically, and also allow you to change GAMEID, name and description
files
Filename | Description | Comment |
---|---|---|
Ty*.dat | Toy File | list them at your discretion Contains trophies but it also contains items in an unsorted manner (such as TyFood) |
Mn*.dat | Menu file | (ExtAll) all menus? (MaAll) Main Menu (Namedef) name creation (SlChr) Select Character, CSS (SlMap) Select Map, SSS |
Mv*.mth | “Movie” file | “Congratulations” |
Pl*.dat | Player file | Character information: (Bo) Boy; Male Wireframe (Ca) C.Falcon (Ch) Crazy Hand (Cl) CLink, Young Link (Co) Common (Dk) Donkey Kong (Dr) Dr.Mario (Fc) Falco (Fe) Fire Emblem, Roy (Fx) Fox (Gk) GigaKoopa, GigaBowser, (Gl) Girl; Female Wireframe (Gn) Ganondorf (Gw) Game n Watch (Kb) Kirby (Kp) Koopa, Bowser (Lg) Luigi (Lk) Link (Mh) Master Hand (Mr) Mario? (Ms) Mars?, Marth (Mt) Mewtwo (Nn) Nana, Ice Climbers (Ns) Ness (Pc) Pichu (Pe) Peach (Pk) Pikachu (Pp) Popo, Ice Climbers (Pr) Purin, JigglyPuff (Sb) SandBag (Sk) Sheik (Ss) Samus (Sh) (Ys) Yoshi (Zd) Zelda |
Pl*{Aq,Bk,Bu,Gr,Gy,La,Nr,Or,Pi,Re,Wh,Ye}.dat | Costume specific player file (otherwise, the color) | (Aq) Aqua (Bk) Black (Bu) Blue (Gr) Green (Gy) Gray (La) Lavender (Nr) Neutral (Or) Orange (Pi) Pink (Re) Red (Wh) White (Ye) Yellow |
Pl*AJ.dat | Animation Joint file | |
Gr*.dat | “Ground(?)” stage file | (GrBB) Big Blue (GrCn) Corneria (GrCs) Princess Peach's Castle (GrEF1) Goomba Trophy Stage (GrEF2) Entei Trophy Stage (GrEF3) Mask Trophy Stage (GrFs) Fourside (GrFz) Flat Zone (GrGb) Great Bay (Termina) (GrGd) Garden (Kongo Jungle) (GrGr) Green Greens (GrHe) Heal (All-Star) (GrHr) Homerun Contest (GrI1) Mushroom Kingdom (GrI2) Mushroom Kingdom II (GrIm) Icicle Mountain (GrIz) Izumi, Fountain of Dreams (GrKg) Kongo Jungle (GrKr) Kraid, Brinstar Depths (GrMc) Mute City (GrNBa) Battlefield (GrNBr) F-Zero adventure mode stage (GrNFg) Figure Get, Falling trophy stage (GrNKr) Mushroom Kingdom adventure mode stage (GrNLa) Final Destination (GrNPo) Pushon? (GrNSr) Shrine Route, Hyrule Castle chasm, adv. mode stage (GrNZr) Zebes Route, Brinstar adv mode (GrOk) Kongo Jungle N64 (GrOp) Dream Land N64 (GrOt) Onett (GrOy) Yoshi's Story N64 (GrPs) Pokemon Stadium (GrPs1) Pokemon Stadium, Fire (GrPs2) Pokemon Stadium, Grass (GrPs3) Pokemon Stadium, Water (GrPs4) Pokemon Stadium, Rock (GrPu) Pura, Poke Floats (GrRc) Rainbow Cruise (GrSh) Shrine, Hyrule Temple (GrSt) Yoshi's Story (GrTe) "TEST" (GrVe) Venom (GrYt) Yoshi's Island (GrZe) Brinstar, Planet Zebes |
GrT*.dat | Target test stages | see Pl* for character prefixes. |
Gm*.dat, Gm*.thp | Game? Scene data, videos | Don’t know about .dat, but there are video files for the different single player modes (Kumite) multi-man melee (Gover) Game Over screen (Pause) Pause interface (TtAll).{ukd,usd} Contains the Smash title |
GmRstM*.dat | Demo Result Motion | one for every playable character |
Ef*.dat | “Effect” data | Lot of projectiles, and kirby stuff (CoData) Common effects such as smoke & dust |
If*.dat | Interface? no idea | (All) Contains the damage percent images and character icons (HrRecord) Home Run Record, (Prize) |
Ir*.dat | related to demo? | |
Lb*.dat | Library data | (Ad) lbAudioLoadData (Bf) lbBgFlashColAnimData (McGame) memory card game data (McSnap) memory card (Rb) lbRumbleData (Rf) lbReferenceData |
Nt*.dat | ||
Sd*.dat | Text Data | (SlChr) holds the" Random Stage Select" stage names |
Vi*.dat | “Visual” | ”visual...” I think it might be the little videos that play when you leave the main menu on too long, or it’s for the tutorial |
opening.bnr | little image and info | Shows in the gamecube/wii/dolphin menu |
usa.ini | empty file | specific to US NTSC? |
DbCo.dat | Debug Common? | ”dbLoadCommonData” |
ItCo.dat | Item Common | “itmCommonFFlower” |
PdPm.dat | Player Data Player Manager? | ”plLoadCommonData” |
SmSt.dat | Sound Manager? | Related to sound FX; ”smSoundTestLoadData” |
TmBox.dat | Tournament Box | ”tournament_box[2,3,4]_array” |
files/audio
lots of audio files
Filename | Song Title/Stage |
---|---|
1p_qk.hps | Healing Room Theme (all star mode) |
akaneia.hps | Fire Emblem Theme (alt theme on Temple) |
balloon.hps | Fighter Theme (alt theme on Icicle Mountain) |
bigblue.hps | Big Blue |
castle.hps | Peach’s Castle Theme |
continue.hps | Continue? clip |
corneria.hps | Corneria |
docmari.hps | Dr.Mario’s theme |
ending.hps | Plays in the short cutscene after you complete a 1-Player mode |
famidemo.hps | Unknown (related to the 15-minute special movie?) |
ff_1p01.hps | Classic Mode Stage Complete |
ff_1p02.hps | Classic Mode Stage Complete |
ff_bad.hps | Unused “success” theme |
ff_good.hps | Unused “success” theme |
ff_<dood>.dhps | Character Fanfares |
ff_step{1,2,3}.hps | Unused fanfares |
flatzone.hps | Flat Zone |
fourside.hps | Fourside |
gameover.hps | Game Over jingle |
garden.hps | Kongo Jungle Melee |
greatbay.hps | Great Bay |
greens.hps | Green Greens |
howto.hps and howto_s.hps | How to Play themes. One plays on the title screen after idling and one plays when How to Play is selected in the data files. |
hyaku.hps | Multi-Man Melee 1 theme (also alt on Battlefield) |
hyaku2.hps | Multi-Man Melee 2 theme (also alt on Final Destination) |
icemt.hps | Ice Mountain |
inis1_01.hps | Mushroom Kingdom I |
inis2_01.hps | Mushroom Kingdom II |
inis1_02.hps and inis2_02.hps | These tracks play on Kingdom I and II when there is either 30 seconds of time left or a player is on their last stock. |
intro_es.hps | Classic Mode Intro jingle |
intro_nm.hps | Adventure Mode Intro jingle |
item_h.hps | Hammer music (only used in sound test) |
item_s.hps | Starman music (only used in sound test) |
izumi.hps | Fountain of Dreams |
kongo.hps | Jungle Japes |
kraid.hps | Brinstar Depths |
menu01.hps and menu3.hps | The Menu music. menu01 is the main one. |
menu02.hps | Trophy Collector (and trophy viewing?) stage theme. Unsure why it’s called menu02 (possibly links to the fact that this theme is a menu theme in smash 4) Edit: Alternate Menu theme that plays randomly when playing |
mrider.hps | Mach Rider theme (alt on Big Blue) |
mutecity.hps | Mute City |
old_dk.hps | Kongo Jungle 64 |
old_kb.hps | Dream Land 64 |
old_ys.hps | Yoshi’s Island 64 |
onetto.hps | Onett |
onetto2.hps | Mother 2 Theme (alt on Onett) |
opening.hps | The audio that goes with MvOpen.mth (the game’s intro sequence) |
pokesta.hps | Battle Theme (alt on Pokemon Stadium) |
pstadium.hps | Pokemon Stadium |
pura.hps | Poke Floats |
rcruise.hps | Rainbow Cruise |
s_info{1,2,3}.hps and s_new{1,2}.hps | An achievement! Which one plays depends on what kind of achievment (trophy, character, other) |
s_newcom.hps | Challenger Approaching jingle |
s_select.hps | Unused. This is a copy of item_h.hps |
saria.hps | Saria’s Theme (alt on Great Bay) |
shrine.hps | Temple |
siren.hps | “Warning Siren” Plays on the second stage of Brinstar (adventure mode) |
smari3.hps | Super Mario Bros 3 (alt on Yoshi’s Island Melee) |
sp_end.hps | Final Destination |
sp_giga.hps | Giga Bowser theme (adventure mode - Final Destination and event 51) |
sp_metal.hps | Metal Theme (adventure mode - Battlefield and classic stage 11) |
sp_zako.hps | Battlefield |
swm_15min.hps | Audio attributed to MvOmake15.mth (the Special Movie)2 |
target.hps | Break the Targets theme. |
venom.hps | Venom |
vl_*.hps | Adventure mode audio. Mainly for cutscenes. |
vs_hyou1.hps and vs_hyou2.hps | Tournament Mode themes. |
yorster.hps | Yoshi’s Island Melee |
ystory.hps | Yoshi’s Story |
zebes.hps | Brinstar |
files/audio/us
lots of localization files
Filename | Description |
---|---|
nr_name.ssm | Announcer voicing character names on character select screen. |
SSBM (1.02) Data Sheet
These Tables are a conversion of This Google Sheet.
Global Addresses
pic | Effect | Comments | ||
0x803B7C08 | Classic mode continue coin requirements | 0x00 - Very Easy (1 coin required) | ||
0x803B7C0D | lmode continue coin requirements | Same as above. | ||
0x803B7C11 | All-Star mode continue coin requirements | Same as above, but all five values in this offset are "0A". | ||
0x803C12E0 | START of Per Character Action State Table | Indexed by Internal Character ID | ||
0x803c14f0 | Aerial Down B table | |||
0x803C167C | Per Character Neutral Special Action Initalization Table | Indexed by Internal Character ID | ||
0x803C2800 | START of Shared Action State Function Table | See Action State Reference | ||
0x803D4A48 | Game duration and pause on/off | Loaded from DOL.See the "Modifying Default Settings" DOL mod section for information on the variable list: http://smashboards.com/threads/the-dol-mod-topic.326347/ | ||
0x803D4A50 | Game duration and pause on/off | 0x08010000 = 8 minutes, pause off. 0x08000100 = 8 minutes, pause on | ||
0x803f0328 | Ready to fight banner visiblity status | |||
0x803f0aa8 | Stamina Mode Narrarator Sound FX ID | Other Special Melee Sound FX ID's are located around here | ||
0x803F0E06 | P1 Character select | 0x00 - Team (0x00 = Red 0x01 = Blue 0x02 = Green) | ||
0x803F0E08 | ||||
0x803F0E2A | P2 Character select | 0x01 - Player Mode (0x00 = Human 0x01 = CPU 0x02 = Demo? 0x03 = Disabled) | 8 | |
0x803F0E2C | P2 character select | 4 Bytes - Example: Reading 4 bytes at address 0x803F0E08 returns 0x00010A0A | ||
0x803F0E4E | P3 Character select | 0x02 - Costume ID | ||
0x803c14f0 | P3 character select | Byte 2 is costume ID (goes from 0x00 to 0x03 or however many costumes a character has), so the example means player 1 has Fox's orange costume since 0x01 is the associated ID. | ||
0x803F0E72 | P4 Character select | use computer visio | ||
0x803F0E74 | P4 character select | Byte 3 and 4 indicate the character ID. Unsure if they're ever different. 0x00 is Dr. mario and 0x18 is Roy (Roster ordering). Therefore, the example means player 1 is Fox since 0x0A is Fox's ID. | ||
0x803F14C4 | Start of Item Action Function Table | Indexed by Item ID. See Entity Data Offsets for info. | ||
0x803F20E0 | These all seem to be addresses within a function, rather than a pointer to the start of the function. | |||
0x80432A28 | Frame advance on/off | 0x80000000 = on. Increment word by 1 to advance frame by frame. 00000000 = unpause | ||
0x80432A2C | Global speed modifier | Defaults at 0xA4CB8. Cut it in half for double speed (0x5265C). | ||
0x80452C68 | START INGAME Camera Struct | See Entity Data Offsets for notes | ||
0x80453080 | P1 Block | 0x00 of P1's static Player Block data. Each player is 0xE90 apart (goes up to Player 6). | ||
0x8045310E | P1Stock | |||
0x80453130 | P1 character entity data pointer | Refer to the Char Offset table. Each subsequent player's pointer is stored at 0xE90 | ||
0x80453F10 | P2 Block | |||
0x80453F9E | P2Stock | |||
0x80453FC0 | P2 character entity data pointer | |||
0x80454DA0 | P3 Block | |||
0x80454E2E | P3Stock | |||
0x80454E50 | P3 character entity data pointer | |||
0x80455C30 | P4 Block | |||
0x80455CBE | P4Stock | |||
0x80455CE0 | P4 character entity data pointer | |||
0x8045BF10 | ??? | See above for variable list. | ||
0x8045BF28 | Unlocked characters bitfield | 0 = locked, 1 = unlocked. Characters are in order of their external values excluding starters, from Mr. Game & Watch in the LSB to Ganondorf in 10 | ||
0x8045BF2A | Unlocked stages bitfield | 0 = locked, 1 = unlocked. Stages are in a unique order | ||
0x8045C370 | Item Frequency, VS Mode (8-bit) | |||
0x8045c384 | Music/Sound volume slider last position? | Doesn't actually affect the music/sound volume when changed, but if changed outside of sound menu the slider will appear at the newly inputted position upon next sound menu entry | ||
0x8045D850 | Start of Nametag Data | |||
0x8046B6C4 | Bomb Rain Timer | If it is greater than 0x4B0, it rains bombs (likely num frames of current match). | ||
0x8046B6C8 | Game timer minutes/seconds left | Ex. 000001E0 = 8 minutes (1E0=decimal 480[seconds] = 8 minutes) | ||
0x8046B6CC | Game timer counter (16-bit) | Counts up every frame to subtract from timer. Write 0 to this every frame to freeze timer. | ||
0x8046DB6D | ||||
0x8046DB6E | Bomb Rain toggle/Is Sudden Death | Change to anything greater than 00 to immediately start bomb rain during a match (has to be at least 20 seconds after match starts for bombs to drop) | ||
0x8046DB80 | Start of Current Match information | @ +0x08 = Item Switch values | ||
0x80479C5F | P1 Previous Input Timer (8-bit) | These appear to reset to 0 whenever an input is received. | ||
0x80479C8F | P2 Previous Input Timer (8-bit) | counts up 1 every frame until another input is sent, or it hits 0x64 (100 frames). Also resets on menu transition - Absolome | ||
0x80479CBF | P3 Previous Input Timer (8-bit) | These are spaced 0x30 apart | ||
0x80479CEF | P4 Previous Input Timer (8-bit) | |||
0x80479D30 | Scene controller | 00 = Current major; 01 = Pending major; 02 = Previous major; 03 = Current minor | 1.5 | |
0x80479D60 | Global frame timer | |||
0x80479D68 | Game pause on/off | 0x10000000 = paused | ||
0x80479D7C | JJ | Disable game functions from processing each frame. Each bit is a flag for a different function. | ||
0x804807C8 | Teams Mode flag (8-bit) | 01 = on, 00 = off (free for all) | ||
0x80480820 | P1 Character Select? | Uses External ID | ||
0x8048082c | Has Something to do with above address | |||
0x8049E6C8 | START of Current Stage Info | |||
0x804A1FD8 | In-game debug settings | |||
0x804C1FAC | Controller 1 Digital Data | Bit Flags: xxxx xxxx UDLR UDLR xxxS YXBA xLRZ UDRL | ||
0x804C1FB0 | Controller 1 Digital Data (previous frame) | Nibbles: [0] ? [1] ? [2]C-Stick [3] Control Stick [4] Start Button [5] Right-Side Buttons [6]Top-of-Controller Buttons [7] D-Pad | ||
0x804C1FC4 | Words: [0] Control Stick X [1] Control Stick Y [2] C-Stick X [3] C-Stick Y | |||
0x804C1FC8 | Bytes: [0] Left Shoulder [1] Right Shoulder | |||
0x804C1FCC | Controller 1 Analog Data | |||
0x804D36A0 | Hitbox color | |||
0x804D36A4 | Grab box color | |||
0x804D36A8 | Gecko Code | ?? | ||
0x804D36AC | Hurtbox color | |||
0x804D36B0 | ||||
0x804D36B4 | Invincible hurtbox color | |||
0x804D36B8 | ||||
0x804D36BC | Intangible hurtbox color | |||
0x804D36C0 | ||||
0x804D36C4 | Shield collision bubble color | |||
0x804D36C8 | ||||
0x804D36CC | Reflector collision bubble color | |||
0x804D36D0 | ||||
0x804D36D4 | ||||
0x804D36D8 | ||||
0x804D36DC | Detection box color (i.e. Ganondorf/Falcon side-B) | |||
0x804D36E0 | ||||
0x804D36E4 | ||||
0x804D36E8 | ||||
0x804D36EC | ||||
0x804D36F0 | ||||
0x804D36F4 | ||||
0x804D36F8 | ||||
0x804D36FC | last color table entry | |||
0x804D4A08 | Debug Level (32-bit) | 0 = Master, 1 = No-Debug-Rom, 2 = Debug-Develop, 3 = Debug-Rom, 4 = Develop | ||
0x804D5F90 | Random seed | Changes every frame and is affected by player actions. For ALL random events. | ||
0x804d6554 | Pointer to PICo.dat | NOTE: This does not point to the entire PICo.dat file. Instead it only points first offset located in the PICo Offsets sheet | ||
0x804D6554 | Pointer to common attributes table from PlCo.dat | |||
0x804D6730 | KO star count (8-bit per player) | =p1p2p3p4 | ||
0x804d6ca4 | Frames before inputs are taken on SSS | Byte | ||
0x804D6CAD | Stage select (16-bit) | Indicates the stage selection on the stage select screen. | ||
0x804d6cf2 | Frames before inputs are taken on CSS | Byte | ||
0x804D6D58 | HUD toggle | Toggle for displaying the game timer, player's percents, stock icons, etc. 00=ON, 01=OFF | ||
0x804D7420 | Global Power-on Count | Increments by 1 every frame. Never resets. | ||
0x804D8278 | Editing does something weird to animation | (taken from AR code) | ||
0x804D9250 | Fox/Falco horizontal momentum from shooting laser | Default is zero. Changing this value was very unstable. | ||
0x804D9254 | Fox/Falco Laser offsets | Fox - vertical offset of entire laser. Falco - z-axis offset of laser ring graphic effect | ||
0x804D9258 | Fox/Falco horizontal laser offset | Negative = shoots from behind them | ||
0x804D9274 | Fox/Falco Gun Size Multiplier | |||
0x804D9278 | Fox/Falco vertical momentum during Up-B | Default is zero. Making it too high/negative will affect being able to go in angles (above 1 or below -1?) | ||
0x804D927C | Fox/Falco Up-B charge animation speed multiplier | Default is 3f800000 = 1. Increase to make faster. Making it too fast will cause freezes. | ||
0x804D9280 | Fox/Falco angle of pointed body while traveling in Up-B animation | |||
0x804D92D4 | Fox/Falco side-b speed modifier | |||
0x804DE328 | UI Camera FOV | [float] Changes the camera angle along with HUD and menu elements, but does not issue any black coloring on textures | ||
0x804DE338 | ||||
0x8065CC14 | Current Menu? | It updates to a different predictable value every time you switch menus, but it's written to by the OSAllocFromHeap function so setting a breakpoint here really doesn't work. | ||
0x80BDC5F4 | Global width multiplier | 1.0 by default. Written by some code at 0x803427C4. | ||
0x8111674C | P4 Cursor X Position | Floating point ranging from -35 to 26 (If set outside of the boundaries, moves to closest point within boundaries) | ||
0x81116750 | P4 Cursor Y Position | Floating point ranging from -22 to 25 (If set outside of the boundaries, moves to closest point within boundaries) | ||
0x811176EC | P3 Cursor X Position | Floating point ranging from -35 to 26 (If set outside of the boundaries, moves to closest point within boundaries) | ||
0x811176F0 | P3 Cursor Y Position | Floating point ranging from -22 to 25 (If set outside of the boundaries, moves to closest point within boundaries) | ||
0x8111826C | P2 Cursor X Position | Floating point ranging from -35 to 26 (If set outside of the boundaries, moves to closest point within boundaries) | ||
0x81118270 | P2 Cursor Y Position | Floating point ranging from -22 to 25 (If set outside of the boundaries, moves to closest point within boundaries) | ||
0x81118DEC | P1 Cursor X Position | Floating point ranging from -35 to 26 (If set outside of the boundaries, moves to closest point within boundaries) | ||
0x81118DF0 | P1 Cursor Y Position | Floating point ranging from -22 to 25 (If set outside of the boundaries, moves to closest point within boundaries) | ||
0x811ad6c0 | Offset to RAM copy of character Plxx.dat file for P1? | *usually*, this seems to change depending on the order that the .dat files were loaded into ram, so if p2 chooses a character first, then this will not be p1's .dat file. | ||
Start of Regular Match Continue coin requirements | 5 Bytes - Reads how many coins the player needs in-order to continue after losing in regular match mode. | |||
0x01 - Easy (2 coins required) | ||||
0x02 - Normal (3 coins required) | ||||
0x03 - Hard (5 coins required) | ||||
0x04 - Very Hard (10 coins required) | ||||
00000000: Enable all. FFFFFFFF: Disable all. | ||||
5 Bytes | ||||
0x04 - Current hovered character ID (Goes up to 0x19 for the random slots left of pichu and right of roy) | ||||
0x80453080 | START of Static Player Blocks | See Char Data Offsets for information | ||
0 if no entities out, otherwise it's the first in daisy chain if 1 or more is active. | ||||
This address changes when allocated, so you should refer to the pointer before accessing Character Data | ||||
Controller Data for Controllers 2 - 4 can be found by offsetting these values by a multiple of 0x44. | ||||
Starting from the LSB: Brinstar Depths, Poké Floats, Big Blue, Fourside, Mushroom Kingdom II, Flat Zone, Battlefield, Final Destination, Dream Land 64, Yoshi's Island 64, Kongo Jungle 64 | ||||
Debug Mode Graphics Color Table | all RGBA format |
Function Addresses
T | Title | Single line or function? | Description | Registers | |
SFX & Audio | |||||
8038cff4 | Play sound effect | Function | r3 = sfx ID; r4 = volume (00 - FF); r5 = ?? (usually 0x80); r6 = ?? (00-FF); r7 = echo parameter? (00-0F, usually 7 in-game) | ||
80024030 | Play menu sound effect | Function | Play a menu sound. Leads to the above function but takes more neatly-assorted menu sound IDs, and all the menus use this. | r3 = sfx ID | |
8017435c | Play menu sound: "Back" | Function | Plays the menu sound made when pressing B. No parameters/registers are required. | ||
80174338 | Play menu sound: "Forward" | Function | Plays the menu sound made when pressing A. No parameters/registers are required. | ||
80174380 | Play menu sound: "Select" | Function | Plays the menu sound made when pressing up/down. No parameters/registers are required. | ||
80023f28 | Play music | Function | r3 = HPS ID # | ||
800236dc | Stop music | Function | |||
8038bd6c | Stop all sound effects | Function | |||
In-Game Mechanics | |||||
80034110 | Get character data pointer | Function | Returns a pointer for the character data based on the given player number. | r3 = player number | |
8006ad10 | Main character loop | Function | Top-level character update; runs once per character per frame in game loop | ||
80033c60 | Set initial stock count | Function | Stores stock amount to a player at the beginning of the match. Runs once per player. | r5 = stock count; r3 = player number | |
80033ce0 | Lose a stock | Function | Loads the player's stock count, subtracts 1, then stores it unless if the player number zero-indexed is greater than 5 which freezes the game. | r3 = player number | |
800693ac | Load action state | Function | Load new action state for a character. Every action state has an init function before branching to this. | f1 = starting frame, r3 = char data offset, r4 = action state ID, | |
8008cfac | Init aerial action state (takes any state ID) | Function | All aerials use this init function. However, any state ID is accepted, making this very versatile for loading any normal state. | r4 = state ID | |
8006b808 | Action state IASA check | Single line | Branches to the IASA check of the current action state | ||
8016c080 | End stock game | Single line | Sets a register to 1 that causes "GAME!" to trigger. Noping this will prevent any win conditions from ending the match. | ||
8016b558 | Count players in match | Function | No input, walks the 6 player blocks and checks the "player type" | output r3 = number of characters in match | |
80164840 | Get character unlock status | Function | Checks if a given character is unlocked from its external ID | input r3 = character external ID; output r3 = 0 if locked, 1 if unlocked | |
8019f6ec | Game Over screen | Function | Ends the game if state ID in r0 is not "0". | ||
8019fce0 | Load game over state for Continue popup | Single line | Loads the state ID and checks which state it is. Noping this will remove it from the screen regardless if it is a Game Over or not. | ||
8019fce4 | Continue popup state ID check | single line | Checks which Game Over state it is for the continue popup. If the value is different from 0, then the game will delete the popup from the screen. | r0 = Game Over state ID | |
801a09d4 | Continue SFX and Music state ID check | single line | Checks which Game Over state it is for the audio to be played on the background. If the value in the register does not match 0, then they will remain silent. Noping this code will prevent the audio from playing with any state in the register after loading the screen. | ||
801a0a10 | Game Over coin check | Function | Checks how many coins the player has before ending the game. Coins lower than the required sets the register "r0" to 1 and then stores it. | input r0 = required coins; r5 = coins the player has | |
801a0a84 | Continue state | Single line | Sets the register to 0 if the coins is equal to or higher than the amount of required coins and then stores the state. | output r0 = Game Over state ID | |
801a0a90 | Game Over state | Single line | Sets the register to 1 if the coins is less than the amount of required coins and then stores the state. | output r0 = Game Over state ID | |
8003722c | Check and update Stale Moves | Function | Checks to see if a collision is part of a multi-hit move that has already hit, reads the stale move table, and updates the table accordinlgly | ||
80268B18 | SpawnEntity | Function | Allows you to spawn Entities of the provided struct pointer | r3 Entity* | |
Random Number Generator | |||||
80380580 | Function | Main RNG function; takes the value from 0x804d5f90 and calculates a new value before storing it back | input r3 = number of possible numbers (1-indexed) , output r3 = random number (0-indexed) | ||
80380528 | Function | In-game RNG function; runs several times per frame to calculate random events for graphics such as dust clouds | |||
803805bc | |||||
803804f8 | |||||
801b2ba4 | Set Classic Mode stage + character | Function | Picks a random index from a defined lookup table of stages and characters, then outputs its pointer. Called multiple times upon starting Classic Mode, presumably storing the entire run in one go | " | |
input r3 = pointer to lookup table; r13 = pointer to pointer to player's character ID (read through function 8015cdc8); output r3 = pointer to index" | (Not sure if this should be here or in in-game mechanics) | ||||
Menu Navigation Function | |||||
801a42f8 | Function | I don't know a lot about this function howerver, setting a breakpoint here and looping stepping through makes it easy to write codes like Boot to CSS etc. | r3 = next screen | ||
Stages | |||||
80164430 | Get stage unlock status | Function | "Checks if a given stage is unlocked, from either its standard ID or a classic mode equivalent | ||
" | input r3 = stage ID; output r3 = 0 if locked, 1 if unlocked | ||||
GFX & Visual | |||||
802F3B04 | Timer Milliseconds (visual) | Single line | This line of code sets what the timer's milliseconds slot displays (does not affect actual millisecond value, only the visual indicator in the timer) 0x00 - 0x63 (0-99), anything higher will just cut the upper numbers off | Put the value you want to display in the milliseconds slot into r24. Originally moves the value from r5. - Savestate | |
Misc | |||||
80014BD0 | Fetch data from ARAM? | Function | Copies a 32-byte-aligned chunk of data from ARAM into RAM. Used for loading individual animations from the full copy of PlxxAJ which sits in ARAM, probably among other uses. Calls the relevant lower level functions to do the actual memory copying | "r3 = pointer to start of data block in ARAM | |
r4 = pointer to target location in RAM | |||||
r5 = size of data block | |||||
r6 = unknown, I've only seen it be 0 | |||||
r7 = unknown, I've only seen it be 0 | |||||
Directly before calling, r31 was set to hardcoded 804316c0. Relevant?" |
Action State Reference
Move Table Struct | ||||
0x00 | Animation State | Loaded into 0x14 of the player data during Action State Change | ||
0x04 | ||||
0x07 | Move Type Used | ie. tracked as a 'jump' for scoring purposes | ||
0x08 | Flags 1 | "Bit 0x01 = gets counted in the total Action States used | ||
Bit 0x40 = move counts as a self-destruct for 1 second" | ||||
0x0C | Function pointer - animation interrupt | Points to a function that defines what state is entered at the end of this one. | ||
0x10 | Function pointer - input interrupt | Points to the state's IASA function. | ||
0x14 | Function pointer - action physics | Points to the state's physics behavior per frame. | ||
0x18 | Function pointer - collision interrupt | Points to the state's function that defines what state to enter when platform collision changes. | ||
0x1C | Function pointer - camera behavior | Points to a function related to camera behavior for the given state. | ||
0x20 | Start of next move | |||
ID (Dec) | ID (Hex) | Action State | Function Address | |
0000 | 0000 | DeadDown | Standard downward death | |
0001 | 0001 | DeadLeft | Standard leftward death | |
0002 | 0002 | DeadRight | Standard rightward death | |
0003 | 0003 | DeadUp | Upward death used in 1P "Team Kirby", etc. | |
0004 | 0004 | DeadUpStar | Standard Star KO | |
0005 | 0005 | DeadUpStarIce | Star KO while encased in ice (Freezie) | |
0006 | 0006 | 64-esque front fall, unused, I believe | ||
0007 | 0007 | |||
0008 | 0008 | DeadUpFallHitCamera | ||
0009 | 0009 | DeadUpFallIce | ||
0010 | 000A | DeadUpFallHitCameraIce | ||
0011 | 000B | Rebirth | "Nothing" state, probably - it is the state Shiek/Zelda is in when their counterpart is the one currently playing. Also state of Nana when Sopo is alive | |
0012 | 000C | Entering on halo | 0x800bfd9c | |
0013 | 000D | RebirthWait | Waiting on halo | |
0014 | 000E | Wait | Standing state | |
0015 | 000F | WalkSlow | ||
0016 | 0010 | WalkMiddle | ||
0017 | 0011 | WalkFast | ||
0018 | 0012 | Turn | ||
0019 | 0013 | TurnRun | ||
0020 | 0014 | Dash | ||
0021 | 0015 | Run | ||
0022 | 0016 | RunDirect | ||
0023 | 0017 | RunBrake | ||
0024 | 0018 | KneeBend | Pre-jump animation | |
0025 | 0019 | JumpF | First jump forward | |
0026 | 001A | JumpB | First jump backward | |
0027 | 001B | JumpAerialF | Aerial jump forward | |
0028 | 001C | JumpAerialB | Aerial jump backward | |
0029 | 001D | Fall | Falling straight down | |
0030 | 001E | FallF | Falling with forward DI | |
0031 | 001F | FallB | Falling with backward DI | |
0032 | 0020 | FallAerial | Falling after the second jump | |
0033 | 0021 | FallAerialF | Falling after the second jump with forward DI | |
0034 | 0022 | FallAerialB | Falling after the second jump with backward DI | |
0035 | 0023 | FallSpecial | Special fall after UpB or airdodge | |
0036 | 0024 | FallSpecialF | Special fall with forward DI | |
0037 | 0025 | FallSpecialB | Special fall with backward DI | |
0038 | 0026 | DamageFall | Tumbling | |
0039 | 0027 | Squat | Going from stand to crouch | |
0040 | 0028 | SquatWait | Crouching | |
0041 | 0029 | SquatRv | Going from crouch to stand | |
0042 | 002A | Landing | ||
0043 | 002B | LandingFallSpecial | Landing from special fall | |
0044 | 002C | Attack11 | Jab 1 | |
0045 | 002D | Attack12 | Jab 2 | |
0046 | 002E | Attack13 | Jab 3 | |
0047 | 002F | Attack100Start | Start of a rapid jab | |
0048 | 0030 | Attack100Loop | Middle of a rapid jab | |
0049 | 0031 | Attack100End | End of a rapid jab | |
0050 | 0032 | AttackDash | Dash attack | |
0051 | 0033 | AttackS3Hi | High Ftilt | |
0052 | 0034 | AttackS3HiS | High-mid Ftilt | |
0053 | 0035 | AttackS3S | Mid Ftilt | |
0054 | 0036 | AttackS3LwS | Low-mid Ftilt | |
0055 | 0037 | AttackS3Lw | Low Ftilt | |
0056 | 0038 | AttackHi3 | Uptilt | |
0057 | 0039 | AttackLw3 | Downtilt | |
0058 | 003A | AttackS4Hi | High Fsmash | |
0059 | 003B | AttackS4HiS | High-mid Fsmash | |
0060 | 003C | AttackS4S | Mid Fsmash | |
0061 | 003D | AttackS4LwS | Low-mid Fsmash | |
0062 | 003E | AttackS4Lw | Low Fsmash | |
0063 | 003F | AttackHi4 | Upsmash | |
0064 | 0040 | AttackLw4 | Downsmash | |
0065 | 0041 | AttackAirN | Nair | |
0066 | 0042 | AttackAirF | Fair | |
0067 | 0043 | AttackAirB | Bair | |
0068 | 0044 | AttackAirHi | Uair | |
0069 | 0045 | AttackAirLw | Dair | |
0070 | 0046 | LandingAirN | Landing during Nair | |
0071 | 0047 | LandingAirF | Landing during Fair | |
0072 | 0048 | LandingAirB | Landing during Bair | |
0073 | 0049 | LandingAirHi | Landing during Uair | |
0074 | 004A | LandingAirLw | Landing during Dair | |
0075 | 004B | DamageHi1 | ||
0076 | 004C | DamageHi2 | ||
0077 | 004D | DamageHi3 | ||
0078 | 004E | DamageN1 | ||
0079 | 004F | DamageN2 | ||
0080 | 0050 | DamageN3 | ||
0081 | 0051 | DamageLw1 | ||
0082 | 0052 | DamageLw2 | ||
0083 | 0053 | DamageLw3 | ||
0084 | 0054 | DamageAir1 | ||
0085 | 0055 | DamageAir2 | ||
0086 | 0056 | DamageAir3 | ||
0087 | 0057 | DamageFlyHi | ||
0088 | 0058 | DamageFlyN | ||
0089 | 0059 | DamageFlyLw | ||
0090 | 005A | DamageFlyTop | ||
0091 | 005B | DamageFlyRoll | ||
0092 | 005C | LightGet | Picking up an item | |
0093 | 005D | HeavyGet | Picking up a heavy item (barrel) | |
0094 | 005E | LightThrowF | Throwing items at standard speed | 0x80095a30 |
0095 | 005F | LightThrowB | ||
0096 | 0060 | LightThrowHi | ||
0097 | 0061 | LightThrowLw | ||
0098 | 0062 | LightThrowDash | ||
0099 | 0063 | LightThrowDrop | ||
0100 | 0064 | LightThrowAirF | ||
0101 | 0065 | LightThrowAirB | ||
0102 | 0066 | LightThrowAirHi | ||
0103 | 0067 | LightThrowAirLw | ||
0104 | 0068 | HeavyThrowF | ||
0105 | 0069 | HeavyThrowB | ||
0106 | 006A | HeavyThrowHi | ||
0107 | 006B | HeavyThrowLw | ||
0108 | 006C | LightThrowF4 | Throwing items at Smash speed | |
0109 | 006D | LightThrowB4 | ||
0110 | 006E | LightThrowHi4 | ||
0111 | 006F | LightThrowLw4 | ||
0112 | 0070 | LightThrowAirF4 | ||
0113 | 0071 | LightThrowAirB4 | ||
0114 | 0072 | LightThrowAirHi4 | ||
0115 | 0073 | LightThrowAirLw4 | ||
0116 | 0074 | HeavyThrowF4 | ||
0117 | 0075 | HeavyThrowB4 | ||
0118 | 0076 | HeavyThrowHi4 | ||
0119 | 0077 | HeavyThrowLw4 | ||
0120 | 0078 | SwordSwing1 | Beam sword swings | |
0121 | 0079 | SwordSwing3 | ||
0122 | 007A | SwordSwing4 | ||
0123 | 007B | SwordSwingDash | ||
0124 | 007C | BatSwing1 | Home Run Bat swings | |
0125 | 007D | BatSwing3 | ||
0126 | 007E | BatSwing4 | ||
0127 | 007F | BatSwingDash | ||
0128 | 0080 | ParasolSwing1 | Parasol swings | |
0129 | 0081 | ParasolSwing3 | ||
0130 | 0082 | ParasolSwing4 | ||
0131 | 0083 | ParasolSwingDash | ||
0132 | 0084 | HarisenSwing1 | Fan swings | |
0133 | 0085 | HarisenSwing3 | ||
0134 | 0086 | HarisenSwing4 | ||
0135 | 0087 | HarisenSwingDash | ||
0136 | 0088 | StarRodSwing1 | Star Rod swings | |
0137 | 0089 | StarRodSwing3 | ||
0138 | 008A | StarRodSwing4 | ||
0139 | 008B | StarRodSwingDash | ||
0140 | 008C | LipStickSwing1 | Lip's Stick swings | |
0141 | 008D | LipStickSwing3 | ||
0142 | 008E | LipStickSwing4 | ||
0143 | 008F | LipStickSwingDash | ||
0144 | 0090 | ItemParasolOpen | ||
0145 | 0091 | ItemParasolFall | ||
0146 | 0092 | ItemParasolFallSpecial | ||
0147 | 0093 | ItemParasolDamageFall | ||
0148 | 0094 | LGunShoot | Raygun shots | |
0149 | 0095 | LGunShootAir | ||
0150 | 0096 | LGunShootEmpty | ||
0151 | 0097 | LGunShootAirEmpty | ||
0152 | 0098 | FireFlowerShoot | ||
0153 | 0099 | FireFlowerShootAir | ||
0154 | 009A | ItemScrew | ||
0155 | 009B | ItemScrewAir | ||
0156 | 009C | DamageScrew | ||
0157 | 009D | DamageScrewAir | ||
0158 | 009E | ItemScopeStart | ||
0159 | 009F | ItemScopeRapid | ||
0160 | 00A0 | ItemScopeFire | ||
0161 | 00A1 | ItemScopeEnd | ||
0162 | 00A2 | ItemScopeAirStart | ||
0163 | 00A3 | ItemScopeAirRapid | ||
0164 | 00A4 | ItemScopeAirFire | ||
0165 | 00A5 | ItemScopeAirEnd | ||
0166 | 00A6 | ItemScopeStartEmpty | ||
0167 | 00A7 | ItemScopeRapidEmpty | ||
0168 | 00A8 | ItemScopeFireEmpty | ||
0169 | 00A9 | ItemScopeEndEmpty | ||
0170 | 00AA | ItemScopeAirStartEmpty | ||
0171 | 00AB | ItemScopeAirRapidEmpty | ||
0172 | 00AC | ItemScopeAirFireEmpty | ||
0173 | 00AD | ItemScopeAirEndEmpty | ||
0174 | 00AE | LiftWait | ||
0175 | 00AF | LiftWalk1 | ||
0176 | 00B0 | LiftWalk2 | ||
0177 | 00B1 | LiftTurn | ||
0178 | 00B2 | GuardOn | Shield startup | 0x80093a50 |
0179 | 00B3 | Guard | Holding shield | 0x80 |
0180 | 00B4 | GuardOff | Shield release | 0x80 |
0181 | 00B5 | GuardSetOff | Shield stun | |
0182 | 00B6 | GuardReflect | 0x80 | |
0183 | 00B7 | DownBoundU | The missed tech bounce, facing up | |
0184 | 00B8 | DownWaitU | Lying on ground facing up | |
0185 | 00B9 | DownDamageU | Getting hit by a low knockback move lying on ground facing up | |
0186 | 00BA | DownStandU | Neutral getup | |
0187 | 00BB | DownAttackU | Get up attack from ground face up | |
0188 | 00BC | DownFowardU | Missed tech roll forward | |
0189 | 00BD | DownBackU | Missed tech roll backward | |
0190 | 00BE | DownSpotU | Does not appear to be used, may have been a stick down option for missed tech at one point | |
0191 | 00BF | DownBoundD | The missed tech bounce, facing down | |
0192 | 00C0 | DownWaitD | Lying on ground facing down | 0x80 |
0193 | 00C1 | DownDamageD | Getting hit by a low knockback move lying on the ground facing down | 0x80 |
0194 | 00C2 | DownStandD | Neutral getup | 0x80 |
0195 | 00C3 | DownAttackD | Get up attack from ground face down | 0x80 |
0196 | 00C4 | DownFowardD | Missed tech roll forward | 0x80 |
0197 | 00C5 | DownBackD | Missed tech roll backward | 0x80 |
0198 | 00C6 | DownSpotD | Does not appear to be used, may have been a stick down option for missed tech at one point | 0x80 |
0199 | 00C7 | Passive | Neutral tech | |
0200 | 00C8 | PassiveStandF | Forward tech | |
0201 | 00C9 | PassiveStandB | Backward tech | |
0202 | 00CA | PassiveWall | Wall tech | |
0203 | 00CB | PassiveWallJump | Walljump tech/plain walljump | |
0204 | 00CC | PassiveCeil | Ceiling tech | |
0205 | 00CD | ShieldBreakFly | ||
0206 | 00CE | ShieldBreakFall | ||
0207 | 00CF | ShieldBreakDownU | ||
0208 | 00D0 | ShieldBreakDownD | ||
0209 | 00D1 | ShieldBreakStandU | ||
0210 | 00D2 | ShieldBreakStandD | ||
0211 | 00D3 | FuraFura | Shield-break tottering | 0x80099010 |
0212 | 00D4 | Catch | Grab | 0x800d8c54 |
0213 | 00D5 | CatchPull | Successfully grabbing a character - pulling them in | 0x80 |
0214 | 00D6 | CatchDash | 0x80 | |
0215 | 00D7 | CatchDashPull | 0x80 | |
0216 | 00D8 | CatchWait | Grabbing and holding a character | 0x80 |
0217 | 00D9 | CatchAttack | Pummel | 0x80 |
0218 | 00DA | CatchCut | When opponent breaks of a character's grab | 0x80 |
0219 | 00DB | ThrowF | Forward throw | 0x80 |
0220 | 00DC | ThrowB | Back throw | 0x80 |
0221 | 00DD | ThrowHi | Up throw | 0x80 |
0222 | 00DE | ThrowLw | Down throw | 0x80 |
0223 | 00DF | CapturePulledHi | 0x80 | |
0224 | 00E0 | CaptureWaitHi | 0x80 | |
0225 | 00E1 | CaptureDamageHi | 0x80 | |
0226 | 00E2 | CapturePulledLw | Becoming grabbed | 0x80 |
0227 | 00E3 | CaptureWaitLw | When grabbed | 0x80 |
0228 | 00E4 | CaptureDamageLw | Pummeled | 0x80 |
0229 | 00E5 | CaptureCut | Grab release | 0x80 |
0230 | 00E6 | CaptureJump | Jumping mash out of grab | 0x80 |
0231 | 00E7 | CaptureNeck | Does not appear to be used | 0x80 |
0232 | 00E8 | CaptureFoot | Does not appear to be used | 0x80 |
0233 | 00E9 | EscapeF | roll forward | 0x80 |
0234 | 00EA | EscapeB | roll backward | 0x80 |
0235 | 00EB | Escape | spotdodge | 0x800998ec |
0236 | 00EC | EscapeAir | airdodge | 0x80099a9c |
0237 | 00ED | ReboundStop | ||
0238 | 00EE | Rebound | ||
0239 | 00EF | ThrownF | Thrown forward | |
0240 | 00F0 | ThrownB | Thrown backward | |
0241 | 00F1 | ThrownHi | Thrown up | |
0242 | 00F2 | ThrownLw | Thrown down | |
0243 | 00F3 | ThrownLwWomen | Thrown down as a female character | |
0244 | 00F4 | Pass | Drop through platform | 0x80 |
0245 | 00F5 | Ottotto | Ledge teeter | |
0246 | 00F6 | OttottoWait | ||
0247 | 00F7 | FlyReflectWall | Missed walltech | |
0248 | 00F8 | FlyReflectCeil | Missed ceiling tech | |
0249 | 00F9 | StopWall | Wall bonk | |
0250 | 00FA | StopCeil | Ceiling bonk | |
0251 | 00FB | MissFoot | Backward shield slideoff | |
0252 | 00FC | CliffCatch | Catching the ledge | 0x80 |
0253 | 00FD | CliffWait | Hanging on the ledge | 0x80 |
0254 | 00FE | CliffClimbSlow | Climbing the ledge (100%+) | 0x80 |
0255 | 00FF | CliffClimbQuick | Climbing the ledge (<100%) | 0x80 |
0256 | 0100 | CliffAttackSlow | Ledge attack (100%+) | 0x80 |
0257 | 0101 | CliffAttackQuick | Ledge attack (<100%) | 0x80 |
0258 | 0102 | CliffEscapeSlow | Ledge roll (100%+) | 0x80 |
0259 | 0103 | CliffEscapeQuick | Ledge roll (<100%) | 0x80 |
0260 | 0104 | CliffJumpSlow1 | Ledge jump/tournament winner (100%+) | |
0261 | 0105 | CliffJumpSlow2 | Ledge jump/tournament winner (100%+) | |
0262 | 0106 | CliffJumpQuick1 | Ledge jump/tournament winner (<100%) | |
0263 | 0107 | CliffJumpQuick2 | Ledge jump/tournament winner (<100%) | |
0264 | 0108 | AppealR | Taunt right | 0x80 |
0265 | 0109 | AppealL | Taunt left | 0x80 |
0266 | 010A | ShoulderedWait | DK carry | |
0267 | 010B | ShoulderedWalkSlow | ||
0268 | 010C | ShoulderedWalkMiddle | ||
0269 | 010D | ShoulderedWalkFast | ||
0270 | 010E | ShoulderedTurn | ||
0271 | 010F | ThrownFF | DK carry throws | |
0272 | 0110 | ThrownFB | ||
0273 | 0111 | ThrownFHi | ||
0274 | 0112 | ThrownFLw | ||
0275 | 0113 | CaptureCaptain | ||
0276 | 0114 | CaptureYoshi | ||
0277 | 0115 | YoshiEgg | ||
0278 | 0116 | CaptureKoopa | ||
0279 | 0117 | CaptureDamageKoopa | ||
0280 | 0118 | CaptureWaitKoopa | ||
0281 | 0119 | ThrownKoopaF | ||
0282 | 011A | ThrownKoopaB | ||
0283 | 011B | CaptureKoopaAir | ||
0284 | 011C | CaptureDamageKoopaAir | ||
0285 | 011D | CaptureWaitKoopaAir | ||
0286 | 011E | ThrownKoopaAirF | ||
0287 | 011F | ThrownKoopaAirB | ||
0288 | 0120 | CaptureKirby | ||
0289 | 0121 | CaptureWaitKirby | ||
0290 | 0122 | ThrownKirbyStar | ||
0291 | 0123 | ThrownCopyStar | ||
0292 | 0124 | ThrownKirby | ||
0293 | 0125 | BarrelWait | ||
0294 | 0126 | Bury | Stuck in ground by DK side B or similar | |
0295 | 0127 | BuryWait | ||
0296 | 0128 | BuryJump | ||
0297 | 0129 | DamageSong | Put to sleep by Jigglypuff up B or similar | |
0298 | 012A | DamageSongWait | ||
0299 | 012B | DamageSongRv | ||
0300 | 012C | DamageBind | Hit by Mewtwo's Disable | |
0301 | 012D | CaptureMewtwo | Does not appear to be used | |
0302 | 012E | CaptureMewtwoAir | Does not appear to be used | |
0303 | 012F | ThrownMewtwo | Hit by Mewtwo's Confusion | |
0304 | 0130 | ThrownMewtwoAir | Hit by Mewtwo's Confusion | |
0305 | 0131 | WarpStarJump | ||
0306 | 0132 | WarpStarFall | ||
0307 | 0133 | HammerWait | ||
0308 | 0134 | HammerWalk | ||
0309 | 0135 | HammerTurn | ||
0310 | 0136 | HammerKneeBend | ||
0311 | 0137 | HammerFall | ||
0312 | 0138 | HammerJump | ||
0313 | 0139 | HammerLanding | ||
0314 | 013A | KinokoGiantStart | Super/Poison mushroom states | |
0315 | 013B | KinokoGiantStartAir | ||
0316 | 013C | KinokoGiantEnd | ||
0317 | 013D | KinokoGiantEndAir | ||
0318 | 013E | KinokoSmallStart | ||
0319 | 013F | KinokoSmallStartAir | ||
0320 | 0140 | KinokoSmallEnd | ||
0321 | 0141 | KinokoSmallEndAir | ||
0322 | 0142 | Entry | Warp in at beginning of match. | |
0323 | 0143 | EntryStart | ||
0324 | 0144 | EntryEnd | ||
0325 | 0145 | DamageIce | ||
0326 | 0146 | DamageIceJump | ||
0327 | 0147 | CaptureMasterhand | ||
0328 | 0148 | CapturedamageMasterhand | ||
0329 | 0149 | CapturewaitMasterhand | ||
0330 | 014A | ThrownMasterhand | ||
0331 | 014B | CaptureKirbyYoshi | ||
0332 | 014C | KirbyYoshiEgg | ||
0333 | 014D | CaptureLeadead | ||
0334 | 014E | CaptureLikelike | ||
0335 | 014F | DownReflect | A very rare action state where the character transitions from a DownBoundU or DownBoundD (missed tech) state into a wall bounce. This state is not techable and neither is the probable next floor hit. Most commonly encountered on Pokémon Stadium | |
0336 | 0150 | CaptureCrazyhand | ||
0337 | 0151 | CapturedamageCrazyhand | ||
0338 | 0152 | CapturewaitCrazyhand | ||
0339 | 0153 | ThrownCrazyhand | ||
0340 | 0154 | BarrelCannonWait | ||
0341 | 0155 | Wait1 | No general action states at this point or later are used, it's all character-specific action states | |
0342 | 0156 | Wait2 | ||
0343 | 0157 | Wait3 | ||
0344 | 0158 | Wait4 | ||
0345 | 0159 | WaitItem | ||
0346 | 015A | SquatWait1 | ||
0347 | 015B | SquatWait2 | ||
0348 | 015C | SquatWaitItem | ||
0349 | 015D | GuardDamage | ||
0350 | 015E | EscapeN | ||
0351 | 015F | AttackS4Hold | ||
0352 | 0160 | HeavyWalk1 | ||
0353 | 0161 | HeavyWalk2 | ||
0354 | 0162 | ItemHammerWait | ||
0355 | 0163 | ItemHammerMove | ||
0356 | 0164 | ItemBlind | ||
0357 | 0165 | DamageElec | ||
0358 | 0166 | FuraSleepStart | ||
0359 | 0167 | FuraSleepLoop | ||
0360 | 0168 | FuraSleepEnd | ||
0361 | 0169 | WallDamage | ||
0362 | 016A | CliffWait1 | ||
0363 | 016B | CliffWait2 | ||
0364 | 016C | SlipDown | ||
0365 | 016D | Slip | ||
0366 | 016E | SlipTurn | ||
0367 | 016F | SlipDash | ||
0368 | 0170 | SlipWait | ||
0369 | 0171 | SlipStand | ||
0370 | 0172 | SlipAttack | ||
0371 | 0173 | SlipEscapeF | ||
0372 | 0174 | SlipEscapeB | ||
0373 | 0175 | AppealS | ||
0374 | 0176 | Zitabata | ||
0375 | 0177 | CaptureKoopaHit | ||
0376 | 0178 | ThrownKoopaEndF | ||
0377 | 0179 | ThrownKoopaEndB | ||
0378 | 017A | CaptureKoopaAirHit | ||
0379 | 017B | ThrownKoopaAirEndF | ||
0380 | 017C | ThrownKoopaAirEndB | ||
0381 | 017D | ThrownKirbyDrinkSShot | ||
0382 | 017E | ThrownKirbySpitSShot |
ID Lists
Character External ID | Character Internal ID | Stage ID | Internal Stage ID | CPU AI Type | ITEMS | Element ID | Status List | SFX ID | Name Tags | Music | Menus | ||
Original Music Track | Filename (.hps) | Music ID | |||||||||||
0x00 // Captain Falcon | 0x00 // Mario | DEBUG | 0x02 Princess Peach's Castle | 00 = // stay | 0x00 // Capsule | 0x00 = Normal | 00000001 (1) // Stamina | 0000 - 00A9: In-game sound effects | DEFAULT | All-Star Rest Area | 1p_qk | 00 | 00 - Title Screen (Press Start) |
0x01 // Donkey Kong | 0x01 // Fox | 000 [000] // Dummy | 0x03 Rainbow Cruise | 02 = // escape | 0x01 // Box | 0x01 = Fire | 00000010 (2) // No Character Voice | 00AA: Trophy get | RC | Fire Emblem | akaneia | 01 | 01 - Reloads menu from language change? (brings to language change selection and saves) |
0x02 // Fox | 0x02 // Captain Falcon | 001 [001] // TEST | 0x04 Kongo Jungle | 0x02 // Barrel (Taru) | 0x02 = Electric | 00000100 (4) // Low Gravity | 00AB: Award jingle | VIVI | Balloon Fight | baloon | 02 | 02 - VS mode character select | |
0x03 // Mr. Game & Watch | 0x03 // Donkey Kong | 0x05 Jungle Japes | 03 = // jump | 0x03 // Egg | 0x03 = Slash | 00001000 (8) // Invisible | 00AC: Menu back | 64DD | Big Blue | bigblue | 03 | 03 - Classic Mode | |
0x04 // Kirby | 0x04 // Kirby | STANDARD | 0x06 Great Bay | 04 = // normal | 0x04 // Party Ball (Kusudama) | 0x04 = Coin | 00010000 (16) // Metal Icon | 00AD: Menu forward | 6502 | Princess Peach's Castle | castle | 04 | 04 - Adventure Mode |
0x05 // Bowser | 0x05 // Bowser | 002 [002] // Fountain of Dreams (Izumi) | 0x07 Hyrule Temple | 05 = // manual | 0x05 // Barrel Cannon (TaruCann) | 00100000 (32) // Metal Character | 00AE: Menu up/down | AMPM | Continue | continue | 05 | 05 - All-Star Mode | |
0x06 // Link | 0x06 // Link | 003 [003] // Pokémon Stadium (Pstadium) | 0x08 Brinstar | 06 = // nana | 0x06 // Bob-omb (BombHei) | 0x06 = Sleep (103 frames) | 01000000 (64) // Unknown/Unused | 00AF: Menu access denied | BABA | Corneria | corneria | 06 | 06 - Debug Menu |
0x07 // Luigi | 0x07 // Sheik | 004 [004] // Princess Peach's Castle (Castle) | 0x09 Brinstar Depths | 07 = // defensive | 0x07 // Mr. Saturn (Dosei) | 0x07 = Sleep (412 frames) | 10000000 (128) // Vibration Setting on | 00B0: Magnifier damage sound | BOMB | Dr. Mario | docmari | 07 | 07 - Master Sound Test |
0x08 // Mario | 0x08 // Ness | 005 [005] // Kongo Jungle (Kongo) | 0x0A Yoshi's Story | 08 = // struggle | 0x08 // Heart Container | 0x08 = Grounded | 00B1: Pause sound | Ending Fanfare | ending | 08 | 08 - Looks like regular VS mode, but actually cycles through many different character select screens | ||
0x09 // Marth | 0x09 // Peach | 006 [006] // Brinstar (Zebes) | 0x0B Yoshi's Island | 09 = // freak | 0x09 // Maxim Tomato | 0x09 = Grounded | 00B2: Star Fox intercom sound | EAD | Demo Fanfare (Unused) | famidemo | 09 | 09 - Black Screen...? | |
0x0A // Mewtwo | 0x0A // Popo | 007 [007] // Corneria | 0x0C Fountain of Dreams | 0A = // cooperate | 0x0A // Starman (Super Star) | 0x0A = Cape | 00B3: Results screen left/right | HVC | 1P Mode Fanfare 1 | ff_1p01 | 0a | 0A - Camera Mode | |
0x0B // Ness | 0x0B // Nana | 008 [008] // Yoshi's Story (Story) | 0x0D Green Greens | 0B = // splwlink (Bomb-Fest Event Link) | 0x0B // Home-Run Bat | 0x0B = Empty | 00B4: Results screen coin get | MIC | 1P Mode Fanfare 2 | ff_1p02 | 0b | 0B - Trophy Gallery | |
0x0C // Peach | 0x0C // Pikachu | 009 [009] // Onett | 0x0E Corneria | 0C = // splwsamus (Bomb-Fest Event Samus) | 0x0C // Beam Sword | 0x0C = Disable | 00B5 - 00C1: Misc menu sounds | N64 | Unused Bad Fanfare | ff_bad | 0c | 0C - Trophy Lottery | |
0x0D // Pikachu | 0x0D // Samus | 010 [00A] // Mute City | 0x0F Venom | 0D = // onlyitem | 0x0D // Parasol | 0x0D = Darkness | 00DB - 013C: Item sounds | NEO | Donkey Kong Victory Theme | ff_dk | 0d | 0D - Trophy Collection | |
0x0E // Ice Climbers | 0x0E // Yoshi | 011 [00B] // Rainbow Cruise (RCruise) | 0x10 Pokemon Stadium | 0E = // evzelda (Hide 'n' Sheik Event Zelda) | 0x0E // Green Shell (G Shell) | 0x0E = Screw Attack | 013D - 014B: Crowd sounds | NUS | Fire Emblem Victory Theme | ff_emb | 0e | 0E - Starts a match (with the debug menu configurations?) | |
0x0F // Jigglypuff | 0x0F // Jigglypuff | 012 [00C] // Jungle Japes (Garden) | 0x11 Poke Floats | 0F = // noact | 0x0F // Red Shell (R Shell) | 0x0F = Lips Stick | 014C - 020A: Walking sound effects (lots of repeats) | QD | Game & Watch Victory Theme | ff_flat | 0f | 0F - Target Test | |
0x10 // Samus | 0x10 // Mewtwo | 013 [00D] // Great Bay | 0x12 Mute City | 10 = // air | 0x10 // Ray Gun (L Gun) | 0x10+ = Nothing (no graphic) | SW | Star Fox Victory Theme | ff_fox | 10 | 10 - Super Sudden Death | ||
0x11 // Yoshi | 0x11 // Luigi | 014 [00E] // Hyrule Temple (Shrine) | 0x13 Big Blue | 11 = // item | 0x11 // Freezie (Freeze) | 4E20: Narrator game title shouts | TIE | F-Zero Victory Theme | ff_fzero | 11 | 11 - Invisible Melee | ||
0x12 // Zelda | 0x12 // Marth | 015 [00F] // Brinstar Depths (Kraid) | 0x14 Onett | 12 = // Guard edge | 0x12 // Food | 7530: Narrator game modes | VBOY | Unused Good Fanfare | ff_good | 12 | 12 - Slo-Mo Melee | ||
0x13 // Sheik | 0x13 // Zelda | 016 [010] // Yoshi's Island (Yoster) | 0x15 Fourside | bom | 0x13 // Proximity Mine (MSBomb) | 9C40: Narrator single-player phrases | Ice Climber Victory Theme | ff_ice | 13 | 13 - Lightning Melee | |||
0x14 // Falco | 0x14 // Young Link | 017 [011] // Green Greens (Greens) | 0x16 Icicle Mountain | 14 = // Cooperative | 0x14 // Flipper | C350: Narrator versus phrases | RESTRICTED | Kirby Victory Theme | ff_kirby | 14 | 14 - "A new foe has appeared!" (Ganon with sword, freezes if you try to progress, ID from debug?) | ||
0x15 // Young Link | 0x15 // Dr. Mario | 018 [012] // Fourside | 0x18 Mushroom Kingdom | 15 = // Coop 2 | 0x15 // Super Scope (S Scope) | 7C830: Narrator character calls + Additional phrases | CPU1 | Legend of Zelda Victory Theme | ff_link | 15 | 15 - Classic Mode trophy acquisition & credits (C.Falcon, ID from debug?) | ||
0x16 // Dr. Mario | 0x16 // Falco | 019 [013] // Mushroom Kingdom I (Inishie1) | 0x19 Mushroom Kingdom II | 16 = // Normal? | 0x16 // Star Rod | CPU2 | Super Mario Victory Theme | ff_mario | 16 | 16 - Adventure Mode trophy acquisition & credits (C.Falcon, ID from debug?) | |||
0x17 // Roy | 0x17 // Pichu | 020 [014] // Mushroom Kingdom II (Inishie2) | 0x1B Flat Zone | 17 = // Multi-Man Melee AI | 0x17 // Lip's Stick | CPU3 | Earthbound Victory Theme | ff_ness | 17 | 17 - All-Star Mode trophy acquisition & credits (C.Falcon, ID from debug?) | |||
0x18 // Pichu | 0x18 // Mr. Game & Watch | // 021 [015] // Akaneia (Deleted Stage) | 0x1C Dream Land | 18 = // Escape + Attack | 0x18 // Fan (Harisen) | CPU4 | Pokemon Victory Theme | ff_poke | 18 | 18 - Intro video | |||
0x19 // Ganondorf | 0x19 // Ganondorf | 022 [016] // Venom | 0x1D Yoshi's Island (64) | 19 = // Walk + Attack | 0x19 // Fire Flower (F Flower) | CPU5 | Metroid Victory Theme | ff_samus | 19 | 19 - Cycles through Adventure Mode cinematics | |||
0x1A // Master Hand | 0x1A // Roy | 023 [017] // Poké Floats (Pura) | 0x1E Kongo Jungle (64) | 1A = // Stay + Attack | 0x1A // Super Mushroom (Kinoko) | CPU6 | Unused Fanfare 1 | ff_step1 | 1a | 1A - Character trophy acquisition (no credits) (uses All-Star trophy) (C.Falcon, ID from debug?) | |||
0x1B // Wireframe Male | 0x1B // Master Hand | 024 [018] // Big Blue | Unused Fanfare 2 | ff_step2 | 1b | 1B - Tournament Menu | |||||||
0x1C // Wireframe Female | 025 [019] // Icicle Mountain | 0x1D // Warp Star (WStar) | CPU9 | Unused Fanfare 3 | ff_step3 | 1c | 1C - Training Mode | ||||||
0x1D // Giga Bowser | 0x1D // Wireframe Male (Boy) | 026 [01A] // Icetop | 0x1E // Screw Attack (ScBall) | HMN | Yoshi Victory Theme | ff_yoshi | 1d | 1D - Tiny Melee | |||||
0x1E // Crazy Hand | 0x1E // Wireframe Female (Girl) | 0x1F // Bunny Hood (RabbitC) | HMN | Flat Zone | flatzone | 1e | 1E - Giant Melee | ||||||
0x1F // Sandbag | 0x1F // Giga Bowser | 027 [01B] // Flat Zone | 0x20 // Metal Box (MetalB) | HMN0 | Fourside | fourside | 1f | 1F - Stamina Mode | |||||
0x20 // Popo | 0x20 // Sandbag | 028 [01C] // Dream Land N64 (old ppp) | 0x21 // Cloaking Device (SpyCloak) | HMN1 | Game Over | gameover | 20 | 20 - Home-Run Contest | |||||
0x21 // User Select(Event) / None | 029 [01D] // Yoshi's Island N64 (old yosh) | 0x22 // Poké Ball (M Ball) | HMN2 | Kongo Jungle | garden | 21 | 21 - 10-Man Melee | ||||||
030 [01E] // Kongo Jungle N64 (old kong) | HMN3 | Great Bay | greatbay | 22 | 22 - 100-Man Melee | ||||||||
031 [01F] // Battlefield (battle) | ITEM RELATED | HMN4 | Green Greens | greens | 23 | 23 - 3-Minute Melee | |||||||
032 [020] // Final Destination (last) | 0x23 // Ray Gun recoil effect | HMN5 | How to Play (video audio) | howto | 24 | 24 - 15-Minute Melee | |||||||
0x24 // Star Rod Star | HMN6 | How to Play | howto_s | 25 | 25 - Endless Melee | ||||||||
TARGET TEST | 0x25 // Lips Stick Dust | HMN7 | Multi-Man Melee 1 | hyaku | 26 | 26 - Cruel Melee | |||||||
033 [021] // Target Test // Mario (TMario) | 0x26 // Super Scope Beam | HMN8 | Multi-Man Melee 2 | hyaku2 | 27 | 27 - "Enable Progressive Scan Display?" | |||||||
034 [022] // Target Test // C. Falcon (TCaptain) | 0x27 // Ray Gun Beam | HMN9 | Icicle Mountain | icemt | 28 | 28 - Reboot | |||||||
035 [023] // Target Test // Young Link (TClink) | 0x28 // Hammer Head | Mushroom Kingdom | inis1_01 | 29 | 29 - Memory Card Overwrite Confirmation | ||||||||
036 [024] // Target Test // Donkey Kong (TDonkey) | 0x29 // Flower | RANDOM | Mushroom Kingdom (Finale) | inis1_02 | 2a | 2A - Fixed-Camera Mode | |||||||
037 [025] // Target Test // Dr. Mario (TDrmario) | 0x2A // Yoshi's egg (Event) | AAAA | Mushroom Kingdom II | inis2_01 | 2b | 2B - Loads Event Match 1 (Match ID from the debug menu?) | |||||||
038 [026] // Target Test // Falco (TFalco) | 1DER | Mushroom Kingdom II (Finale) | inis2_02 | 2c | 2C - Single-Button Mode | ||||||||
039 [027] // Target Test // Fox (TFox) | MONSTERS | 2BIT | Classic Fanfare | intro_es | 2d | ||||||||
040 [028] // Target Test // Ice Climbers (TIceclim) | 0x2B // Goomba (DKuriboh) | 2L8 | Adventure Fanfare | intro_nm | 2e | ||||||||
041 [029] // Target Test // Kirby (TKirby) | 0x2C // Redead (Leadead) | 2PAY | Hammer Theme | item_h | 2f | ||||||||
042 [02A] // Target Test // Bowser (TKoopa) | 0x2D // Octarok (Octarock) | 401K | Star Theme | item_s | 30 | ||||||||
043 [02B] // Target Test // Link (TLink) | 0x2E // Ottosea | 4BDN | Fountain of Dreams | izumi | 31 | ||||||||
044 [02C] // Target Test // Luigi (TLuigi) | 0x2F // Stone(Octarok Projectile) | 4BY4 | Jungle Japes | kongo | 32 | ||||||||
045 [02D] // Target Test // Marth (TMars) | 4EVA | Brinstar Depths | kraid | 33 | |||||||||
046 [02E] // Target Test // Mewtwo (TMewtwo) | CHARACTER RELATED | 7HVN | Main Menu (Default) | menu01 | 34 | ||||||||
047 [02F] // Target Test // Ness (TNess) | 48 | 0x30 // Mario's fire | AOK | Lottery | menu02 | 35 | |||||||
048 [030] // Target Test // Peach (TPeach) | 49 | ARCH | Main Menu (Alternate) | menu3 | 36 | ||||||||
049 [031] // Target Test // Pichu (TPichu) | 50 | 0x32 // Kirby's Cutter beam | ARN | Mach Rider | mrider | 37 | |||||||
050 [032] // Target Test // Pikachu (TPikachu) | 51 | 0x33 // Kirby's Hammer | ASH | Mute City | mutecity | 38 | |||||||
051 [033] // Target Test // Jigglypuff (TPurin) | 52 | 0x34 // | BAST | Kongo Jungle N64 | old_dk | 39 | |||||||
052 [034] // Target Test // Samus (TSamus) | 53 | 0x35 // | BBBB | Dream Land 64 | old_kb | 3a | |||||||
053 [035] // Target Test // Sheik (TSeak) | 54 | 0x36 // Fox's Laser | BCUZ | Yoshi's Island 64 | old_ys | 3b | |||||||
054 [036] // Target Test // Yoshi (TYoshi | 55 | 0x37 // Falco's Laser | BETA | Onett | onetto | 3c | |||||||
055 [037] // Target Test // Zelda (TZelda) | 56 | 0x38 // Fox's shadow | BOBO | Mother 2 | onetto2 | 3d | |||||||
056 [038] // Target Test // Mr. Game & Watch (TGamewat) | 57 | 0x39 // Falco's shadow | BONE | Opening (video audio) | opening | 3e | |||||||
057 [039] // Target Test // Roy (TEmblem) | 58 | 0x3A // Link's bomb | BOO | Battle Theme (Pokemon) | pokesta | 3f | |||||||
058 [03A] // Target Test // Ganondorf (TGanon) | 59 | 0x3B // Young Link's bomb | BORT | Pokemon Stadium | pstadium | 40 | |||||||
60 | 0x3C // Link's boomerang | BOZO | Poke Floats | pura | 41 | ||||||||
ADVENTURE MODE | 61 | 0x3D // Young Link's boomerang | BUB | Rainbow Cruise | rcruise | 42 | |||||||
059 [03B] // 1 //1 Kinoko (Mushroom Kingdom Adventure) | 62 | 0x3E // Link's Hookshot | BUD | Info Fanfare 1 | s_info1 | 43 | |||||||
060 [03C] // 1 //2 Castle (vs Peach & Mario [or luigi]) | 63 | 0x3F // Young Link's Hookshot | BUZZ | Info Fanfare 2 | s_info2 | 44 | |||||||
061 [03D] // 2 //1 Kongo (vs 2 mini Donkey Kongs) | 64 | 0x40 // Arrow | BYRN | Info Fanfare 3 | s_info3 | 45 | |||||||
062 [03E] // 2 //2 Garden (vs Donkey Kong) | 65 | 0x41 // Fire Arrow | CHUM | Trophy Fanfare | s_new1 | 46 | |||||||
063 [03F] // 3 //1 Meiktu (Zelda Adventure[Underground Maze]) | 66 | 0x42 // PK Fire | COOP | Unused Fanfare | s_new2 | 47 | |||||||
064 [040] // 3 //2 Shrine (vs Zelda) | 67 | 0x43 // PK Flash | CUBE | Challenger Approaching | s_newcom | 48 | |||||||
065 [041] // 4 //1 Zebes (vs Samus) | 68 | 0x44 // PK Flash | CUD | Unused Song (Hammer Theme) | s_select | 49 | |||||||
066 [042] // 4 //2 Dassyut (Escape from Brinstar Adventure) | 69 | 0x45 // PK Thunder (Primary) | DAYZ | Saria's Theme | saria | 4a | |||||||
067 [043] // 5 //1 Greens (vs Kirby) | 70 | 0x46 // PK Thunder | DIRT | Temple | shrine | 4b | |||||||
068 [044] // 5 //2 Greens (vs Kirby Team) | 71 | 0x47 // PK Thunder | DIVA | Brinstar Escape | siren | 4c | |||||||
069 [045] // 5 //3 Greens (classic Kirby music) (vs Giant Kirby) | 72 | 0x48 // PK Thunder | DNCR | Super Mario Bros. 3 | smari3 | 4d | |||||||
070 [046] // 6 //1 Corneria (vs Fox [or Falco]) | 73 | 0x49 // PK Thunder | DUCK | Final Destination | sp_end | 4e | |||||||
071 [047] // 6 //2 Corneria (vs Fox [or Falco] with massive arwing attack) | 74 | 0x4A // Fox's Blaster | DUD | Giga Bowser | sp_giga | 4f | |||||||
072 [048] // 7 //1 Pokémon Stadium (vs Pikachu Team, and 1 Jigglypuff if unlocked, lots of pokeball) | 75 | 0x4B // Falco's Blaster | DUFF | Metal Battle | sp_metal | 50 | |||||||
073 [049] // 8 //1 B Route (F //Zero Adventure[F //Zero Grand Prix]) | 76 | 0x4C // Link's Arrow | DV8 | Battlefield (Fighting Wire Frames) | sp_zako | 51 | |||||||
074 [04A] // 8 //2 Mute City (vs Captain Falcon) | 77 | 0x4D // Young Link's arrow | ED | Special Movie (video audio) | swm_15min | 52 | |||||||
075 [04B] // 9 //1 Onett (vs Ness x3, lots of Mr Saturn) | 78 | 0x4E // PK Flash (explosion) | ELBO | Targets! | target | 53 | |||||||
076 [04C] // 10 //1 Icemt (Icicle Mountain Adventure) | 79 | 0x4F // Needle(thrown) | FAMI | Venom | venom | 54 | |||||||
077 [04D] // 10 //2 Icetop (vs Ice Climbers x2) | 80 | 0x50 // Needle | FIDO | Metal Mario Cutscene | vl_battle | 55 | |||||||
078 [04E] // 11 //1 Battle (vs Fighting Wireframe team, low gravity) | 81 | 0x51 // Pikachu's Thunder | FILO | Luigi Adventure Cutscene | vl_castle | 56 | |||||||
079 [04F] // 11 //2 Battle (vs Metal Mario [& Metal Luigi if unlocked]) | 82 | 0x52 // Pichu's Thunder | FIRE | Corneria Adventure Cutscene | vl_corneria | 57 | |||||||
080 [050] // 12 //1 Last (vs Bowser) | 83 | 0x53 // Mario's cape | FLAV | Space Adventure Cutscene | vl_cosmos | 58 | |||||||
081 [051] // 12 //2 Last (vs Giga Bowser) | 84 | 0x54 // Dr.Mario's cape | FLEA | Bowser Destroyed Cutscene | vl_figure1 | 59 | |||||||
85 | 0x55 // Smoke (Sheik) | FLYN | Giga Bowser Destroyed Cutscene | vl_figure2 | 5a | ||||||||
BONUS STAGE | 86 | 0x56 // Yoshi's egg(thrown) | GBA | F-Zero Adventure Cutscene | vl_fzero | 5b | |||||||
082 [052] // Takisusume (Race to the Finish Classic) | 87 | 0x57 // Yoshi's Tongue?? | GCN | Giga Bowser Cutscene | vl_last_v2 | 5c | |||||||
083 [053] // Grab the Trophies (figureget) | 88 | 0x58 // Yoshi's Star | GLUV | Tournament Mode 1 | vs_hyou1 | 5d | |||||||
084 [054] // Homerun Contest (homerun) | 89 | 0x59 // Pikachu's thunder (B) | GR8 | Tournament Mode 2 | vs_hyou2 | 5e | |||||||
085 [055] // Heal (All-Star's Stage Inbetween Matches) | 90 | 0x5A // Pikachu's thunder (B) | GRIT | Yoshi's Island | yorster | 5f | |||||||
91 | 0x5B // Pichu's thunder (B) | GRRL | Yoshi's Story | ystory | 60 | ||||||||
CLASSIC (VS SINGLE CHARACTER) | 92 | 0x5C // Pichu's thunder (B) | GUST | Brinstar | zebes | 61 | |||||||
086 [056] // Princess Peach's Castle (vs Mario) | 93 | 0x5D // Samus's bomb | GUT | ||||||||||
087 [057] // Rainbow Cruise (vs Mario) | 94 | 0x5E // Samus's chargeshot | HAMB | ||||||||||
088 [058] // Kongo Jungle (vs Donkey Kong) | 95 | 0x5F // Missile | HAND | ||||||||||
089 [059] // Jungle Japes (vs Donkey Kong) | 96 | 0x60 // Grapple beam | HELA | ||||||||||
090 [05A] // Great Bay (vs Link) | 97 | 0x61 // Sheik's chain | HEYU | ||||||||||
091 [05B] // Temple (vs Link) | 98 | 0x62 // | HI5 | ||||||||||
092 [05C] // Brinstar (vs Samus) | 0x63 // Turnip | HIKU | |||||||||||
093 [05D] // Brinstar Depths (vs Samus) | 0x64 // Bowser's flame | HOOD | |||||||||||
094 [05E] // Yoshi's Story (vs Yoshi) | 0x65 // Ness's bat | HYDE | |||||||||||
095 [05F] // Yoshi's Island (vs Yoshi) | 0x66 // Yoyo | IGGY | |||||||||||
096 [060] // Fountain of Dreams (vs Kirby) | 0x67 // Peach's parasol | IKE | |||||||||||
097 [061] // Green Greens (vs Kirby) | 0x68 // Toad | IMPA | |||||||||||
098 [062] // Corneria (vs Fox) | 0x69 // Luigi's fire | JAZZ | |||||||||||
099 [063] // Venom (vs Fox) | 0x6A // Ice(Iceclimbers) | JEKL | |||||||||||
100 [064] // Pokémon Stadium (Only Pokeballs)(vs Pikachu) | 0x6B // Blizzard | JOJO | |||||||||||
101 [065] // Mushroom Kingdom I (vs Luigi) | 0x6C // Zelda's fire | JUNK | |||||||||||
102 [066] // Mushroom Kingdom II (vs Luigi) | 0x6D // Zelda's fire (explosion) | KEY | |||||||||||
103 [067] // Mute City (vs Captain Falcon) | 0x6E // | KILA | |||||||||||
104 [068] // Big Blue (vs Captain Falcon) | 0x6F // Toad's spore | KITY | |||||||||||
105 [069] // Onett (vs Ness) | 0x70 // Mewtwo's Shadowball | KLOB | |||||||||||
106 [06A] // Fourside (vs Ness) | 0x71 // Iceclimbers' Up //B | KNEE | |||||||||||
107 [06B] // Pokémon Stadium (vs Jigglypuff) | 0x72 // Pesticide | L33T | |||||||||||
108 [06C] // Princess Peach's Castle (vs Bowser) | 0x73 // Manhole | L8ER | |||||||||||
109 [06D] // Battlefield (vs Bowser) | 0x74 // Fire(G&W) | LCD | |||||||||||
110 [06E] // Princess Peach's Castle (vs Peach) | 0x75 // Parashute | LOKI | |||||||||||
111 [06F] // Mushroom Kingdom II (vs Peach) | 0x76 // Turtle | LULU | |||||||||||
112 [070] // Temple (vs Zelda) | 0x77 // Sperky | MAC | |||||||||||
113 [071] // Great Bay (vs Marth) | 0x78 // Judge | MAMA | |||||||||||
114 [072] // Final Destination (vs Mewtwo) | 0x79 // | ME | |||||||||||
115 [073] // Pokémon Stadium (vs Mewtwo) | 0x7A // Sausage | MILO | |||||||||||
116 [074] // Icicle Mountain (vs Ice Climbers) | 0x7B // Milk (Young Link) | MIST | |||||||||||
117 [075] // Icicle Mountain (vs Ice Climbers) | 0x7C // Firefighter(G&W) | MOJO | |||||||||||
118 [076] // Mushroom Kingdom I (Dr. Mario Music) (vs Dr. Mario) | 0x7D // Masterhand's Laser | MOSH | |||||||||||
119 [077] // Great Bay (vs Young Link) | 0x7E // Masterhand's Bullet | NADA | |||||||||||
120 [078] // Temple (vs Young Link) | 0x7F // Crazyhand's Laser | ZZZZ | |||||||||||
121 [079] // Corneria (vs Falco) | 0x80 // Crazyhand's Bullet | NAVI | |||||||||||
122 [07A] // Venom (vs Falco) | 0x81 // Crazyhand's Bomb | NELL | |||||||||||
123 [07B] // Great Bay (Unused) | 0x82 // Kirby copy Mario's Fire (B) | NEWT | |||||||||||
124 [07C] // Pokémon Stadium (Pichu) | 0x83 // Kirby copy Dr. Mario's Capsule (B) | NOOK | |||||||||||
0x84 // Kirby copy Luigi's Fire (B) | NEWB | ||||||||||||
CLASSIC (VS TWO CHARACTERS) | 0x85 // Kirby copy IceClimber's IceCube (B) | ODIN | |||||||||||
125 [07D] // Battlefield (Plays Mario Theme) (vs Team Mario & Bowser) | 0x86 // Kirby copy Peach's Toad (B) | OLAF | |||||||||||
126 [07E] // Mushroom Kingdom II (vs Team Mario & Peach) | 0x87 // Kirby copy Toad's Spore (B) | OOPS | |||||||||||
127 [07F] // Kongo Jungle (vs Team DK & Fox) | 0x88 // Kirby copy Fox's Laser (B) | OPUS | |||||||||||
128 [080] // Temple (vs Team Link & Zelda) | 0x89 // Kirby copy Falco's Laser (B) | PAPA | |||||||||||
129 [081] // Great Bay (vs Team Link & Young Link) | 0x8A // Kirby copy Fox's Blaster (B) | PIT | |||||||||||
130 [082] // Mushroom Kingdom I (vs Team Link & Luigi) | 0x8B // Kirby copy Falco's Blaster (B) | POP | |||||||||||
131 [083] // Great Bay (Saria's Song) (vs Team Marth & Link) | 0x8C // Kirby copy Link's Arrow (B) | PKMN | |||||||||||
132 [084] // Big Blue (vs Team Samus & Captain Falcon) | 0x8D // Kirby copy Young Link's Arrow (B) | QTPI | |||||||||||
133 [085] // Brinstar (vs Team Samus & Fox) | 0x8E // Kirby copy Link's Arrow (B) | RAM | |||||||||||
134 [086] // Yoshi's Story (vs Team Yoshi & Luigi) | 0x8F // Kirby copy Young Link's Arrow (B) | RNDM | |||||||||||
135 [087] // Yoshi's Island (vs Team Yoshi & Ness) | 0x90 // Kirby copy Mewtwo's Shadowball (B) | ROBN | |||||||||||
136 [088] // Green Greens (vs Team Kirby & Pikachu) | 0x91 // Kirby copy PK Flash (B) | ROT8 | |||||||||||
137 [089] // Fountain of Dreams (vs Team Kirby & Pichu) | 0x92 // Kirby copy PK Flash Explosion (B) | RUTO | |||||||||||
138 [08A] // Green Greens (vs Team Kirby & Jigglypuff) | 0x93 // Kirby copy Pikachu's Thunder (B) | SAMI | |||||||||||
139 [08B] // Icicle Mountain (vs Team Kirby & Ice Climbers) | 0x94 // Kirby copy Pikachu's Thunder (B) | SET | |||||||||||
140 [08C] // Corneria (vs Team Fox & Falco) | 0x95 // Kirby copy Pichu's Thunder (B) | SETI | |||||||||||
141 [08D] // Mute City (vs Team Fox & Captain Falcon) | 0x96 // Kirby copy Pichu's Thunder (B) | SHIG | |||||||||||
142 [08E] // Pokémon Stadium (vs Team Pikachu & Pichu) | 0x97 // Kirby copy Samus' Chargeshot (B) | SK8R | |||||||||||
143 [08F] // Pokémon Stadium (vs Team Pikachu & Jigglypuff) | 0x98 // Kirby copy Sheik's Needle (thrown) (B) | SLIM | |||||||||||
144 [090] // Mushroom Kingdom I (vs Team Luigi & Dr. Mario) | 0x99 // Kirby copy Sheik's Needle (ground) (B) | SMOK | |||||||||||
145 [091] // Onett (alt music) (vs Team Ness & Peach) | 0x9A // Kirby copy Bowser's Flame (B) | SNES | |||||||||||
146 [092] // Fourside (vs Team Ness & Mewtwo) | 0x9B // Kirby copy Mr. Game & Watch's Sausage (B) | SNTA | |||||||||||
147 [093] // Big Blue (mRider song) (vs Team Captain Falcon & Falco) | 0x9C // (unique) | SPUD | |||||||||||
148 [094] // Battlefield (vs Team Bowser & Mewtwo) | 0x9D // Yoshi's Tongue?? (B) | STAR | |||||||||||
149 [095] // Battlefield (vs Team Bowser & Peach) | 0x9E // (unique) | THOR | |||||||||||
150 [096] // Battlefield (vs Team Bowser & Zelda) | 0x9F // Coin | THUG | |||||||||||
151 [097] // Temple (vs Team Peach & Zelda) | 0xA0 // (unique) | TIRE | |||||||||||
152 [098] // Great Bay (Saria's Song) (vs Team Zelda & Young Link) | TLOZ | ||||||||||||
153 [099] // Temple (Emblem) (vs Team Zelda & Marth) | POKEMON | TNDO | |||||||||||
154 [09A] // Great Bay (Unused) | 0xA0 // Used for Random Pokemon value | TOAD | |||||||||||
0xA1 // Goldeen (Tosakinto) | TOMM | ||||||||||||
CLASSIC (VS GIANT CHARACTER) | 0xA2 // Chicorita | UNO | |||||||||||
155 [09B] // Princess Peach's Castle (vs Giant Mario) | 0xA3 // Snorlax | WALK | |||||||||||
156 [09C] // Kongo Jungle (vs Giant DK) | 0xA4 // Blastoise | WART | |||||||||||
157 [09D] // Great Bay (vs vs Giant Link) | 0xA5 // Weezing (Matadogas) | WARZ | |||||||||||
158 [09E] // Yoshi's Story (vs Giant Yoshi) | 0xA6 // Charizard (Lizardon) | WITH | |||||||||||
159 [09F] // Mushroom Kingdom II (vs Giant Luigi) | 0xA7 // Moltres | YETI | |||||||||||
160 [0A0] // Mute City (vs Giant Captain Falcon) | 0xA8 // Zapdos | YNOT | |||||||||||
161 [0A1] // Pokémon Stadium (vs Giant Jigglypuff) | 0xA9 // Articuno | ZAXO | |||||||||||
162 [0A2] // Fountain of Dreams (vs Giant Bowser) | 0xAA // Wobbuffet | ZETA | |||||||||||
163 [0A3] // Mushroom Kingdom I (vs Giant Dr. Mario) | 0xAB // Scizor | ZOD | |||||||||||
164 [0A4] // Temple (vs Giant Young Link) | 0xAC // Unown | ZOE | |||||||||||
0xAD // Entei | WORM | ||||||||||||
CLASSIC (VS TEAM CHARACTER) | 0xAE // Raikou | GEEK | |||||||||||
165 [0A5] // Rainbow Cruise (vs Team Mario) | 0xAF // Suicune | DUDE | |||||||||||
166 [0A6] // Jungle Japes (vs Team Donkey Kong) | 0xB0 // Bellossom (Kireihana) | WYRN | |||||||||||
167 [0A7] // Fountain of Dreams (vs Team Kirby) | 0xB1 // Electrode (Marumine) | BLOB | |||||||||||
168 [0A8] // Mushroom Kingdom II (vs Team Luigi) | 0xB2 // Lugia | ||||||||||||
169 [0A9] // Onett (vs Team Ness) | 0xB3 // Ho-oh | ||||||||||||
170 [0AA] // Pokémon Stadium (vs Team Jigglypuff) | 0xB4 // Ditto (Metamon) | ||||||||||||
171 [0AB] // Icicle Mountain (Unused) | 0xB5 // Clefairy | ||||||||||||
172 [0AC] // Pokémon Stadium (vs Team Pichu) | 0xB6 // Togepi | ||||||||||||
173 [0AD] // Flat Zone (vs Team Game & Watch) | 0xB7 // Mew | ||||||||||||
174 [0AE] // Mute City (vs Team Captain Falcon) | 0xB8 // Celebi | ||||||||||||
0xB9 // Staryu (Hitodeman) | |||||||||||||
CLASSIC FINAL | 0xBA // Chansey | ||||||||||||
175 [0AF] // Battlefield (No items) (vs Metal Character) | 0xBB // Porygon2 | ||||||||||||
176 [0B0] // Final Destination (No items) (vs Master Hand) | 0xBC // Cyndaquil (Hinoarashi) | ||||||||||||
0xBD // Marill | |||||||||||||
ALL-STAR | 0xBE // Venusaur (Fushigibana) | ||||||||||||
177 [0B1] // Rainbow Cruise (vs Mario) | |||||||||||||
178 [0B2] // Kongo Jungle (vs Donkey Kong) | POKEMON RELATED | ||||||||||||
179 [0B3] // Great Bay (vs Link) | 0xBF // Chicorita's Leaf | ||||||||||||
180 [0B4] // Brinstar (vs Samus) | 0xC0 // Blastoise's Water | ||||||||||||
181 [0B5] // Yoshi's Story (vs Yoshi) | 0xC1 // Weezing's Gas | ||||||||||||
182 [0B6] // Green Greens (vs Kirby) | 0xC2 // Weezing's Gas | ||||||||||||
183 [0B7] // Corneria (vs Fox) | 0xC3 // Charizard's Breath | ||||||||||||
184 [0B8] // Pokémon Stadium (vs Pikachu) | 0xC4 // Charizard's Breath | ||||||||||||
185 [0B9] // Mushroom Kingdom I (vs Luigi) | 0xC5 // Charizard's Breath | ||||||||||||
186 [0BA] // Mute City (vs Captain Falcon) | 0xC6 // Charizard's Breath | ||||||||||||
187 [0BB] // Onett (vs Ness) | 0xC7 // Mini-Unowns | ||||||||||||
188 [0BC] // Poké Floats (vs Jigglypuff) | 0xC8 // Lugia's Aeroblast | ||||||||||||
189 [0BD] // Icicle Mountain (vs Ice Climbers) | 0xC9 // Lugia's Aeroblast | ||||||||||||
190 [0BE] // Princess Peach's Castle (vs Peach) | 0xCA // Lugia's Aeroblast | ||||||||||||
191 [0BF] // Temple (vs Zelda) | 0xCB // Ho-Oh's Flame | ||||||||||||
192 [0C0] // Fountain of Dreams (Emblem Music) (vs Marth) | 0xCC // Staryu's Star | ||||||||||||
193 [0C1] // Battlefield (Poké Floats song) (vs Mewtwo) | 0xCD // Healing Egg | ||||||||||||
194 [0C2] // Yoshi's Island (vs Bowser) | 0xCE // Cyndaquil's Fire | ||||||||||||
195 [0C3] // Mushroom Kingdom II (Dr Mario Music) (vs Dr Mario) | 0xCF // | ||||||||||||
196 [0C4] // Jungle Japes (vs Young Link) | |||||||||||||
197 [0C5] // Venom (vs Falco) | MONSTERS 2 | ||||||||||||
198 [0C6] // Fourside (vs Pichu) | 0xD0 // Old Goomba (Old-Kuri) | ||||||||||||
199 [0C7] // Final Destination (Emblem Music) (vs Roy) | 0xD1 // Target (Mato) | ||||||||||||
200 [0C8] // Flat Zone (vs Team Game & Watch) | 0xD2 // Shyguy (Heiho) | ||||||||||||
201 [0C9] // Brinstar Depths (vs Gannondorf) | 0xD3 // Koopa(Green) (Nokonoko) | ||||||||||||
0xD4 // Koopa(Red) (PataPata) | |||||||||||||
EVENT MATCH | 0xD5 // Likelile | ||||||||||||
202 [0CA] // Battlefield (Event #01) (Trouble King) | 0xD6 // Old Redead (old-lead) [invalid] | ||||||||||||
203 [0CB] // Temple (Event #18) (Link's Adventure) | 0xD7 // Old Octorok(old-octa) [invalid] | ||||||||||||
204 [0CC] // Princess Peach's Castle (Event #03) (Bomb-fest) | 0xD8 // Old Ottosea (old-otto) | ||||||||||||
205 [0CD] // Yoshi's Story (Event #04) (Dino-wrangling) | 0xD9 // White Bear (whitebea) | ||||||||||||
206 [0CE] // Onett (Event #05) (Spare Change) | 0xDA // Klap | ||||||||||||
207 [0CF] // Fountain of Dreams (Event #06) (Kirbys on Parade) | 0xDB // Green Shell (zgshell) | ||||||||||||
208 [0D0] // Pokémon Stadium (Event #07) (Pokémon Battle) | 0xDC // Red Shell (green act) (zrshell) | ||||||||||||
209 [0D1] // Brinstar (Event #08) (Hot Date on Brinstar) | |||||||||||||
210 [0D2] // Great Bay (Event #09) (Hide 'n' Sheik) | STAGE SPECIFIC | ||||||||||||
211 [0D3] // Yoshi's Island (Event #10) (All-Star Match 1-1 /vs Mario) | 0xDD // Tingle (on balloon) | ||||||||||||
212 [0D4] // Icicle Mountain (Event #11) (King of the Mountain) | 0xDE // [Invalid] | ||||||||||||
213 [0D5] // Mute City (Event #12) (Seconds, Anyone?) | 0xDF // [Invalid] | ||||||||||||
214 [0D6] // Rainbow Cruise (Event #13) (Yoshi's Egg) | 0xE0 // [Invalid] | ||||||||||||
215 [0D7] // Goomba (Event #14) (Trophy Tussle 1) | 0xE1 // Apple | ||||||||||||
216 [0D8] // Battlefield (Event #37) (Legendary Pokemon) | 0xE2 // Healing Apple | ||||||||||||
217 [0D9] // Corneria (Event #16) (Kirby's Air-raid) | 0xE3 // [Invalid] | ||||||||||||
218 [0DA] // Jungle Japes (F-Zero Music) (Event #17) (Bounty Hunters) | 0xE4 // [Invalid] | ||||||||||||
219 [0DB] // Kongo Jungle (Event #2) (Lord of the Jungle) | 0xE5 // [Invalid] | ||||||||||||
220 [0DC] // Final Destination (Event #19) (Peach's Peril) | 0xE6 // Tool (Flatzone) | ||||||||||||
221 [0DD] // Brinstar (Event #20) (All-Star Match 2-1 /vs Samus) | 0xE7 // [Invalid] | ||||||||||||
222 [0DE] // Princess Peach's Castle (Event #21) (Ice Breaker) | 0xE8 // [Invalid] | ||||||||||||
223 [0DF] // Mushroom Kingdom II (Event #22) (Super Mario 128) | 0xE9 // Birdo | ||||||||||||
224 [0E0] // Brinstar Depths (Event #27) (Cold Armor) | 0xEA // Arwing Laser | ||||||||||||
225 [0E1] // Yoshi's Island (Event #24) (The Yoshi Herd) | 0xEB // Great Fox's Laser | ||||||||||||
226 [0E2] // Fourside (DK Rap) (Event #25) (Gargantuans) | 0xEC // Birdo's Egg | ||||||||||||
227 [0E3] // Entei (Event #26) (Trophy Tussle 2) | |||||||||||||
228 [0E4] // Venom (Event #23) (Slippy's Invention) | |||||||||||||
229 [0E5] // Green Greens (Event #28) (Puffballs Unite) | |||||||||||||
230 [0E6] // Temple (Great Bay music) (Event #29) (Triforce Gathering) | |||||||||||||
231 [0E7] // Fountain of Dreams (Event #15) (Girl Power) | |||||||||||||
232 [0E8] // Mushroom Kingdom I (Event #31) (Mario Bros. Madness) | |||||||||||||
233 [0E9] // Corneria (Many Arwings) (Event #32) (Target Acquired) | |||||||||||||
234 [0EA] // F //Zero Adventure Stage (Event #33) (Lethal Marathon) | |||||||||||||
235 [0EB] // Great Bay (Event #34) (Seven Years) | |||||||||||||
236 [0EC] // Dream Land (Event #35) (Time for a Checkup) | |||||||||||||
237 [0ED] // Fourside (Event #36) (Space Travelers 1-1) | |||||||||||||
238 [0EE] // Fountain of Dreams (Event #30) (All-Star Match 3-1 /vs Kirby) | |||||||||||||
239 [0EF] // Mushroom Kingdom II (Event #38) (Super Mario Bros. 2) | |||||||||||||
240 [0F0] // Pokémon Stadium (Event #39) (Jigglypuff Live!) | |||||||||||||
241 [0F1] // Temple (Emblem Music) (Event #40) (All-Star Match 4-1 /vs Marth) | |||||||||||||
242 [0F2] // Temple (Emblem Music) (Event #41) (En Garde!) | |||||||||||||
243 [0F3] // Poké Floats (Event #42) (Trouble King 2) | |||||||||||||
244 [0F4] // Big Blue (Event #43) (Birds of Prey) | |||||||||||||
245 [0F5] // Battlefield (Event #44) (Mewtwo Strikes!) | |||||||||||||
246 [0F6] // Flat Zone (Event #45) (Game and Watch Forever!) | |||||||||||||
247 [0F7] // Temple (Emblem Music) (Event #46) (Fire Emblem Pride) | |||||||||||||
248 [0F8] // Majora's Mask (Event #47) (Trophy Tussle 3) | |||||||||||||
249 [0F9] // Yoshi's Story (Event #48) (Pikachu and Pichu) | |||||||||||||
250 [0FA] // Mushroom Kingdom I (Event #49) (All-Star Match Deluxe 5-1 /vs Dr Mario) | |||||||||||||
251 [0FB] // Final Destination (Final Destination Match) (Event #50) | |||||||||||||
252 [0FC] // Final Destination (The Showdown) (Event #51) | |||||||||||||
253 [0FD] // Jungle Japes (DK Rap) (Event #10) (All-Star Match 1-2 /vs DK) | |||||||||||||
254 [0FE] // Yoshi's Story (Event #10) (All-Star Match 1-3 /vs Yoshi) | |||||||||||||
255 [0FF] // Princess Peach's Castle (Event #10) (All-Star Match 1-4 /vs Peach) | |||||||||||||
256 [100] // Rainbow Cruise (Event #10) (All-Star Match 1-5 /vs Bowser) | |||||||||||||
257 [101] // Great Bay (All-Star Match 2-2 /vs Link) | |||||||||||||
258 [102] // Temple (All-Star Match 2-3 /vs Zelda) | |||||||||||||
259 [103] // Mute City (All-Star Match 2-4 /vs Captain Falcon) | |||||||||||||
260 [104] // Corneria (All-Star Match 2-5 /vs Fox) | |||||||||||||
261 [105] // Pokémon Stadium (All-Star Match 3-2 /vs Pikachu) | |||||||||||||
262 [106] // Onett (All-Star Match 3-3 /vs Ness) | |||||||||||||
263 [107] // Icicle Mountain (All-Star Match 3-4 /vs Ice Climbers) | |||||||||||||
264 [108] // Mushroom Kingdom II (All-Star Match 4-2 /vs Luigi) | |||||||||||||
265 [109] // Poké Floats (All-Star Match 4-3 /vs Jigglypuff) | |||||||||||||
266 [10A] // Final Destination (All-Star Match 4-4 /vs Mewtwo) | |||||||||||||
267 [10B] // Flat Zone (All-Star Match 4-5 /vs Mr Game & Watch) | |||||||||||||
268 [10C] // Venom (All-Star Match Deluxe 5-2 /vs Falco) | |||||||||||||
269 [10D] // Pokémon Stadium (All-Star Match Deluxe 5-3 /vs Pichu) | |||||||||||||
270 [10E] // Great Bay (Saria's Song) (All-Star Match Deluxe 5-4 /vs Young Link) | |||||||||||||
271 [10F] // Temple (Emblem Music) (All-Star Match Deluxe 5-5 /vs Roy) | |||||||||||||
272 [110] // Final Destination (All-Star Match Deluxe 5-6 /vs Gannondorf) | |||||||||||||
273 [111] // Battlefield (Event #36) (Space Travelers 1-2) | |||||||||||||
UNLOCKABLES | |||||||||||||
274 [112] // Pokémon Stadium //Unlocking Jigglypuff | |||||||||||||
275 [113] // Final Destination //Unlocking Mewtwo | |||||||||||||
276 [114] // Mushroom Kingdom II //Unlocking Luigi | |||||||||||||
277 [115] // Fountain of Dreams //Unlocking Marth | |||||||||||||
278 [116] // Flat Zone //Unlocking Mr Game and Watch | |||||||||||||
279 [117] // Princess Peach's Castle (DR Mario song) //Unlocking Dr Mario | |||||||||||||
280 [118] // Final Destination (Great Bay music) //Unlocking Gannondorf | |||||||||||||
281 [119] // Great Bay (Saria's Song) //Unlocking Young Link | |||||||||||||
282 [11A] // Battlefield (Corneria Music) //Unlocking Falco | |||||||||||||
283 [11B] // Pokémon Stadium //Unlocking Pichu? | |||||||||||||
284 [11C] // Temple (Emblem Music) //Unlocking Roy? | |||||||||||||
MULTI-MAN MELEE | |||||||||||||
285 [11D] // Battlefield (Multi-Man Melee) |
Stage Data Offsets
Static Stage Info Struct | Starts at 0x8049E6C8, 0x778 bytes length (Ends at 0x8049EE3F) | |
0x00 | Camera boundry - Left | |
0x04 | Camera boundry - Right | |
0x08 | Camera boundry - Top | |
0x0C | Camera boundry - Bottom | |
0x10 | Blast Zones/Camera X offset | |
0x14 | Blast Zones/Camera Y offset | |
0x18 | Blast Zones/Camera Vertical Tilt | |
0x1C | Camera Pan on X axis | " |
" | ||
0x20 | Camera Tilt on Y axis | |
0x24 | Camera tilt amount while grounded? | Float. This changes the amount that the camera tilts based on players location relative to the ground |
0x28 | Camera Tracking | Float. Higher increases characters visible. |
0x2C | Camera Non-Moving Zoom | Float. |
0x30 | Camera Tracking Smoothness | Float. |
0x34 | Camera Zoom to Character? | 0 prevents movement |
0x38 | Max Camera Depth | Adjusting brings the camera closer to the stage. Affects 0x40 of the Camera Entity |
0x40 | Camera Minimum Z Pos on Pause | Assumed based on grGroundParam ordering |
0x44 | Camera Initial Z Pos on Pause | Float |
0x48 | Camera Max Z Pos on Pause | Float |
0x4C | Normal Camera X? | Float. Used in zz_0224c4c. These are stored when you use Pause (to return to your previous camera position, presumably) |
0x50 | Normal Camera Y? | Float. Used in zz_0224c64 |
0x54 | Normal Camera Z? | Float. Used in zz_0224c7c |
0x58 | Normal Camera Zoom | Float. Used in zz_0224c94 |
0x5C | Fixed Camera X | Short. |
0x60 | Fixed Camera Y | Short. |
0x64 | Fixed Camera Z / Depth Max | Short. |
0x68 | Fixed Camera Zoom | Float. |
0x6C | Fixed Camera Around X | Float. Used in zz_0224cac |
0x70 | Fixed Camera Focus Point on X | |
0x74 | Blast zone position - Left | |
0x78 | Blast zone position - Right | |
0x7C | Blast zone position - Top | |
0x80 | Blast zone position - Bottom | |
0x84 | Unk | Set during Stages_TrophyThink. Drop Count? |
0x88 | Internal Stage ID | See ID lists for Internal Stage ID |
0x8C | Unk | Byte. Used in multiple stage initialization functions and set during ac_StageInfo_InitializeBigAreaWithBonePointers. Something related to respawn point flags |
0x98 | Music ID for current stage | Changing this does nothing |
0x9C | Frame of Last Bomb Rain Drop | |
0x12C | Unk | Short. Set to 0 during ac_StageInfo_InitializeBigAreaWithBonePointers |
0x178 | Pointer to Stage Specific Function | Always a li r3, 0 function just above the main render function. |
0x17C | Stage Specific Function | Seems to be rendering on some stages, though for FD it's simply another li r3, 0. Possibly platform related? |
0x180 | Stage Entity Pointer 1 | |
0x184 | Stage Entity Pointer 2 | |
0x18C | Stage Entity Pointer 3 | |
0x190 | Stage Entity Pointer 4 | |
0x280 | Pointer to P1 Spawn Point Bone | |
0x284 | Pointer to P2 Spawn Point Bone | |
0x288 | Pointer to P3 Spawn Point Bone | |
0x28C | Pointer to P4 Spawn Point Bone | |
0x290 | Pointer to P1 Respawn Point Bone | |
0x294 | Pointer to P2 Respawn Point Bone | |
0x298 | Pointer to P3 Respawn Point Bone | |
0x29C | Pointer to P4 Respawn Point Bone | |
0x4D4 | Camera Limit Left-Top Pointer | Stage info file |
0x4D8 | Camera Limit Right-Bottom Pointer | Stage info file |
0x4DC | Blast Zone Left-Top Pointer | Stage info file |
0x4E0 | Blast Zone Bottom-Right Pointer | Stage info file |
0x694 | Unk | Short. See zz_01c4a08 |
0x6A8 | Itemdata Pointer | From Stage Info file |
0x6AC | Coll_data Pointer | |
0x6B0 | grGroundParam Pointer | See ac_StageInfo_StageSizeLoad_grGroundParam in Symbol Map |
0x6B4 | ALDYakuAll Pointer | |
0x6B8 | Map_ptcl Pointer | |
0x6BC | Map_texg Pointer | |
0x6C0 | Yakumono_Param Pointer | "AtypicalComponent_Param" - Used for non-static stage objects, like the floating platform on Great Bay. |
0x6C4 | Map_plit Pointer | |
0x6CC | Quake_model_set Pointer | |
0x6D0 | Unk | Byte. Set to -1 during ac_StageInfo_InitializeBigAreaWithBonePointers |
0x6D2 | Unk | Byte. Set to 0 during ac_StageInfo_InitializeBigAreaWithBonePointers |
0x6D4 | Number of Targets Left in BtT | Byte. |
0x6D8 | Unk | Short. Set to 0 during ac_StageInfo_InitializeBigAreaWithBonePointers |
0x6DC | Unk | Byte. Set to 0 during ac_StageInfo_InitializeBigAreaWithBonePointers |
0x6E0 | Homerun Contest Distance | Float. This is a coordinate offset, rather than the distance normally seen. |
0x6E4 | Unk Flag | Short. |
0x724 | Unk | Float. Always -10000. Set during ac_StageInfo_InitializeBigAreaWithBonePointers |
0x728 | Unk | Float. |
0x740 | Unk | Short. Stored by zz_01c5784 and loaded by zz_01c5794 |
Entity Data Offsets
Offset | Variable | Comments |
GObj | Length 0x38 | This is the same entity structure used by players, objects, and items |
0x00 | Entity Class | Short. |
0x02 | p_link | Byte. |
0x03 | gx_link | Byte. |
0x04 | p_priority | Byte. |
0x05 | gx_priority | Byte. |
0x06 | obj_kind | Byte. Set to 0xFF for NO REF. |
0x07 | data_kind | Byte. Set to 0xFF for NO REF. |
0x08 | Next GObj data pointer | Pointer. |
0x0C | Previous GObj data pointer | Pointer. |
0x10 | Next GObj data pointer - GX Ordered | Pointer. |
0x14 | Previous GObj data pointer - GX Ordered | Pointer. |
0x18 | Pointer to GObjProc | |
0x1C | GXCallback Render Function | Always seems to be 0x80080E18(entity_t*, int code) for players and 0x8026EECC for items, called each frame |
0x20 | Render Priorities | 64-bit bitmask. Only valid for a CObj referencing GObj. Each bit determines which priority level is rendered by that camera. |
0x28 | Pointer to HSD Object | Typically CObj, JObj, LObj, or Fog |
0x2C | Pointer to Entity Data | |
0x30 | Pointer to Destructor Function | Always 0x8006DABC for players. 0x8026AE10 for Blaster, possibly same for other items. |
0x34 | Unk Linked List | |
GObjProc | ||
0x00 | Parent | Pointer |
0x04 | Next | Pointer |
0x08 | Prev | Pointer |
0x0C | s_link | Byte |
0x0D | Flags | Byte |
0x10 | Parent GObj | |
0x14 | Proc Function | |
Camera Struct | Typically found at 80452C68 | |
0x00 | Pointer to Entity Struct | |
0x04 | Camera Type | Int. Index used by 803BCB18. 0 = Normal, 1 = Pause, 2 = One Player View (Off-Center), 3 = One Player View (Centered), 4 = Fixed, 5 = Crazy, 6 = Demo, 8 = Developer Locked |
0x08 | Background Color | Byte. First 6 bits are hex color code |
0x0C | View Distance? | Float |
0x10 | Distance to Background? | Float |
0x14 | Pan Angle | Float. + = Right, - = Left. |
0x18 | Tilt Angle | Float. + = Up, - = Down. |
0x1C | Tilt Angle 2? | Float. Only seems to tilt downward. Setting it causes the camera to jump to P1, if unpaused |
0x2C | Pan Around Point Angle? | Float |
0x30 | Tilt Around Point Angle? | Float |
0x34 | Depth | Float. + = Further Away |
0x3C | Tilt Around Point Angle (Repeated) | Float. |
0x40 | Depth (Repeated) | Float. Upper Limit set by Stage Data. |
0x44 | Field of View | Float |
0x84 | X Translation | Float. + = Right, - = Left. |
0x88 | Y Translation | Float. + = Up, - = Down. |
0x3D8 | Tracking X-Coordinate | Float |
0x3DC | Tracking Y-Coordinate | Float |
0x3E0 | Tracking Z-Coordinate | Float |
0x3E4 | Type 8: X-Coordinate | Float. |
0x3E8 | Type 8: Y-Coordinate | Float. |
0x3EC | Type 8: Z-Coordinate | Float. |
Item Data Struct | Length 0x1000 | |
0x00 | Pointer to Next Entity Struct | |
0x04 | Pointer to Entity Struct | |
0x08 | ??? | 0x08 & 0x0C are either flags or garbage. Only set after something expires it seems. |
0x0C | ??? | |
0x10 | Item Type | |
0x14 | Item Sub Type | 0x08 = Player Spawned? 0x4 = Game Spawned? |
0x1C | Item Spawn Count | |
0x20 | ??? | Possibly flags. Seems to be set when an item has expired, like a laser. |
0x28 | State Index | 0 = On Ground, 2 = Held, 3 = Airborne (This index is used for 0xBC function pointers) |
0x2C | Direction | Float. -1 to 1 |
0x30 | Direction (Repeated?) | Float. |
0x34 | Projectile spin (amount per frame) | Float. 0.0 for Fox's Laser, 200.0 for Mario's Fireball and Link's bomb. Projectiles don't spin when set to 0. Setting 200 results in rotation of about 0.523599 radians (30 degrees) per frame. Didn't bother checking how this float is actually converted to radians. The check for this value occurs in zz_0274658 |
0x38 | Scale | Float. 1 to 0.85 generally for things like Fox's Laser |
0x40 | X Velocity | |
0x44 | Y Velocity | |
0x48 | Z Velocity? | |
0x4C | X Position | |
0x50 | Y Position | |
0x54 | Z Position? | |
0xB0 | Direction (Repeated?) | |
0xB8 | Pointer to Static Item Data | Points to various function pointers related to the item |
0xBC | Pointer to More Static Item Data | |
0xC4 | Pointer to a bunch of pointers in .dat | 0x4 at this offset related to shyguy on hit attributes as well as Samus Charge Shot hitbox info |
0xCC | Pointer to Projectile Attributes in .dat | |
0x378 | Start of Physics Struct | 4 Sets of XYZ, as seen in Char Data |
0x518 | Pointer to "Owner" Character Data | Does not change after item is thrown |
0x574 | rrggbbaa | Set based on the following 4 Floats |
0x578 | Red | Float. 0 - 255 |
0x57C | Green | Float. 0 - 255 |
0x580 | Blue | Float. 0 - 255 |
0x584 | Alpha | Float. 0 - 255 (255 = item is 100% of color, 0 = no color change) |
0x588 | Red Blink Rate | Float |
0x58C | Blue Blink Rate | Float |
0x590 | Green Blink Rate | Float |
0x594 | Alpha Blink Rate | Float |
0x5C4 | Enable Color | 0x80 to Apply Color (Melee uses 0x91 according to similar Char Data) |
0xCA0 | Immediate Damage Taken? | Float |
0xC30 | Hit Environment Flag | codeline 8026da54 writes to this for energy based projectiles |
0xC34 | Hit Hurtbox Flag? | codeline 80270b90 for projectile vs projectile and 80078114 for projectile vs player |
0xC48 | ||
0xC4C | ||
0xC64 | Hit Reflect Box Flag? | was 02 on reflect |
0xC90 | ||
0xC9C | Total Damage Taken | Float |
0xCF4 | Pointer to Player Hit | |
0xD44 | Time till Expiration | Float, set by 8027515c |
0xD48 | Half of Time til Expiration | Float, set by 8027516c |
0xDD4 | ||
0xDDC | GObj pointer | |
0xDEC | Misc Flags/Timers? | Used to know which stage samus' charge shot is in (0-7) |
0xDF4 | Misc Flags/Timers? | Used to count how many times tingle dances before flying away / how may frames before spawning tingle |
0xE00 | Pointer to "Owner" Static Player Block | |
0xE0C | Velocity to add/subtract? | |
0xE38 | ??? Flag | Byte. Used in Destroy/Heal function of Maxim Tomato |
0xE3C | ??? Offset | Added to 0x80473A18 for (0x80473A18 + Offset) + 0x90 = 0 |
Static Item Table Struct | ||
0x00 | ||
0x04 | ||
0x08 | ||
0x0C | ||
0x10 | ||
0x14 | ||
0x18 | Pointer to Should Item Be Destroyed Function? | |
Item Function Table Struct | Length 0x3C | |
0x00 | Pointer to Statedata | This list of pointers for all items is just above the start of the Item Function Table |
0x04 | OnCreate (item_t*) | |
0x08 | OnDestroy (item_t*) | Not always used, but can be seen with items like the Box or acts as the Heal function for healing items |
0x0C | OnPickup (item_t*) | |
0x10 | OnRelease(item_t*) | This is your R+A throw away |
0x14 | OnThrow (item_t*) | |
0x18 | OnHitCollision(item_t*) | Functionally, this is actually a collision check, since it occurs multiple times before hits are actually registered. If this function returns 1, the item is 'instant on touch' |
0x1C | OnTakeDamage(item_t*) | For Mr. Saturn, this only occurs when it collides with another Mr. Saturn |
0x20 | OnFallOffEdge (item_t *, item->item_data->0xB8) | |
0x24 | ||
0x28 | ||
0x2C | 0x00000000 | |
0x30 | ||
0x34 | ||
0x38 | ||
0x3C | ||
Spawn Item Struct | Length 0x58? | Used for the SpawnEntity function |
0x00 | Pointer to Player Entity | Not always applicable. Used for characters like Peach |
0x04 | Pointer to creator GOBJ | |
0x08 | Item Type Index | |
0x0C | Sub Type? | |
0x10 | Unk Pointer | Set to 0 by SpawnEntity; is never read. May be leftover garbage from the stack. |
0x14 | X (Horizontal) Position | Float |
0x18 | Y (Vertical) Position | Float |
0x1C | Z (Depth) Position | Float |
0x20 | X Position (Repeated) | Float |
0x24 | Y Position (Repeated) | Float |
0x28 | Z Position (Repeated) | Float |
0x2C | X Velocity | Float |
0x30 | Y Velocity | Float |
0x34 | Z Velocity | Float |
0x38 | Angular Velocity | Float. 1 or -1 |
0x44 | 0x80000000 | |
0x48 | "Is Spawned" Flag | Set to 1 by SpawnItem |
0x50 | Pointer to Player Article Floating Points | Used by Fox's Laser and presumably anything else modified by Article FP |
0x54 | Pointer to Player Character Data | |
Spawn Player Struct | ||
0x00 | Possible Length 0xC | Int |
0x05 | Player Slot | Byte |
0x06 | Unknown | Byte. Generally 0xFF |
0x07 | Flags | Byte. 0x2A = Normal, 0x80 = Nana, 0x00 = Player Clone, 0x29 = Multi-Man Fight |
Hitbox Data Offsets
http://smashboards.com/threads/custom-subaction-event-character-data-modifications.429112/#post-20920399 | |||
*Hitbox Data Offsets Start* | Size 0x138 | ||
0x0 | Hitbox Status | (0 is disabled, 1 (set to this value by the hitbox subaction event handler specifically at 0x800712B0), 2 initialized/enabled, 3 triggered) Doesn't actually revalidate hitboxes alone. | |
0x4 | Hitbox Group | Read via (subaction data + 1 >> 4) & 7. If it matches another previous hitbox, then data from 0x74+ is copied in. Essentially determines if a hitbox could multi-hit by having different hitbox groups. | This will be compared against each Hitbox and if it matches, it'll overwrite the existing hitbox's 0x74+ with its own, which would be 0'ing out that group if a hitbox is newly initialized. Presumably, this would cause it to know on the following frame if a hitbox had hit or not, or if multiple are in the same group, only 1 can hit. |
0x8 | Damage (Unstaled, Int) | For use in damage calculation as hitbox damage | |
0xC | Damage (Staled, Float) | ||
0x10 | Z offset from bone (float) | ||
0x14 | Y offset from bone (float) | ||
0x18 | X offset from bone (float) | ||
0x1C | Size of hitbox (float) | ||
0x20 | Knockback Angle (int) | ||
0x24 | Knockback Growth (int) | ||
0x28 | Weight-Dependent Base Knockback(int) | ||
0x2C | |||
0x30 | Element (int) | ||
0x34 | Shield Damage (int) | ||
0x38 | Hit SFX (int) | ||
0x3C | Hit SFX type (int) | ||
0x40 | Flags 1 | Bit 7: Hits Grounded Foes; Bit 6: Hits Aerial Foes; Bit 5: Hitbox Interaction Bit 1; Bit 4: Hitbox Interaction Bit 2 | |
0x41 | Flags 1 | Initialized to 0b????0000. | |
0x42 | Flags 1 | Initialized to 0b010?01?1. | |
0x43 | Flags 1 | Bit 5 is initialized to 0. | |
0x44 | Flags 2 | Copied in 0x800084fc. | |
0x45 | Flags 2 | Copied in 0x800084fc. | |
0x46 | Flags 2 | ||
0x47 | Flags 2 | ||
0x48 | Bone Attachment Data Pointer | ||
0x4C | Z Position (float) | ||
0x50 | Y Position (float) | ||
0x54 | X Position (float) | ||
0x58 | Last Z Position (float) | ||
0x5C | Last Y Position (float) | ||
0x60 | Last X Position (float) | ||
0x64 | Last Collision Z Position (float) | ||
0x68 | Last Collision Y Position (float) | ||
0x6C | Last Collision X Position (float) | ||
0x70 | |||
0x74 | Pointer of Player Hit | Repeats every 0x8 offset after this, 12 times. If pointer exists, then that player cannot be hit again by any of these hitboxes. | |
0x78 | ??? | Copied in 0x800084fc. Potentially part of 0x74 | |
0x7C-0xB3 | ??? | Copied in 0x800084fc. Assembly suggests that they are potentially doublewords. | |
0xB4 (0xBC?) | ??? | Copied in 0x800084fc. Array of some 8 byte-sized structure, length 4. | |
0xD4-0x113 | ??? | Copied in 0x800084fc. Assembly suggests that they are potentially doublewords. | |
0x114 | ??? | Copied in 0x800084fc. Array of some 8 byte-sized structure, length 4. | |
0x134 | ??? | The highest bit is set to bit 3 of an out of bounds byte? Idk the code for this (near the end of 0x8007121C) doesn't make sense. |
Gm Gover Offsets
Offset | Hex | Value | Effect | Comments |
0x145D8 | 00000280 | 640 | Horizontal Viewport Stretch | |
0x145DC | 000001E0 | 480 | Vertical Viewport Stretch | |
0x145F8 | 41200000 | 10 | Near plane clipping | |
0x145FC | 459C4000 | 5000 | Far plane clipping | |
0x14600 | 41C7FFFF | 24.999998 | Screen Field of view | |
0x14604 | 3F9BBBBF | 1.216667 | Screen Aspect ratio |
Hurtbox Offsets
Information courtesy of Tatata0 on the Melee Light Discord. Achilles: [...] Hurtboxes start at 0x11AC, spaced 0x4C apart. Hitbox0 starts 0x914 of char data offset, spaced 0x138 apart. | ||
*Hurtbox Data Offsets Start* | ||
0x0 | ||
0x4 | ||
0x8 | ||
0xC | ||
0x10 | Scale | Hurtbox scale, uniform value that scales the entire capsule. |
0x14 | ||
0x18 | ||
0x1C | End 1 - X Position | Global cooridnates for each end point, updated every frame. |
0x20 | End 1 - Y Position | Changes only affect the hurtbox at the exact time they're updated in game time. Can be studied in develop mode pause menu. |
0x24 | End 1 - Z Position | |
0x28 | End 2 - X Position | |
0x2C | End 2 - Y Position | |
0x30 | End 2 - Z Position | |
0x34 | ||
0x38 | ||
0x3C | ||
0x40 | ||
0x41 | ||
0x42 | ||
0x43 | ||
0x44 | ||
0x45 | ||
0x46 | ||
0x47 | ||
0x48 | ||
0x4C |
PlCo Offsets
Hex | Default value | Effect | Comments | |
0x9FE0 | 3E8F5C29 | 0.28 | joystick & c-stick x-axis dead zone | |
0x9FE4 | 3E8F5C29 | 0.28 | joystick & c-stick y-axis dead zone | |
0x9FE8 | 3E800000 | 0.25 | "joystick X needed for cardinal direction change button timer data | |
" | ||||
0x9FEC | 3E800000 | 0.25 | joystick Y needed for cardinal direction change button timer data | |
0x9FF0 | 3E99999A | 0.30 | L/R Analog dead zone | |
0x9FF4 | 3EB33333 | 0.35 | L/R Analog stored when pressing Z | |
0x9FF8 | 3E800000 | 0.25 | analog data needed for change button timer data (assumption) | |
0x9FFC | 00000028 | 40 | tech dead window (cannot tech for 40 frames after performing a tech) | |
0xA024 | 40800000 | 4 | (dashing) frame at which fsmash interrupt window ends | |
0xA02C | 41A00000 | 20 | (dashing) frame at which dash attack interrupt window ends | |
0xA050 | 3F29999A | 0.6625 | ||
0xA054 | 00000004 | 4 | max frames since joystick cardinal direction change into Y-axis for tap jumping | y joystick window for up-b and down-b (negated) |
0xA0C4 | 00000007 | 7 | l-cancel, frames before landing to hit L/R/Z | |
0xA0C8 | 40000000 | 2 | l-cancel, animation speed division | |
0xA0D4 | 3C23D70A | 0.01 | Weight based knockback reduction multiplier? | (Knockback related)(higher values = more reduction) |
0xA0D8 | 40000000 | 2.0 | Knockback formula value 1(?) | (Higher = More knockback) (Affects at 0 percent, so not damage) (High values will insta-kill) |
0xA0E0 | 3CF5C28F | 0.03 | Launch speed multiplier | Velocity applied when taking knockback is knockback*this |
0xA0E4 | 000000000 | 0.0 | Knockback formula value 3(?)(Minimum knockback?) | (Higher = More knockback) (Affects at 0 percent, so not damage) (High values will insta-kill) |
0xA0E8 | 451C4000 | 2500.0 | Maximum Knockback | |
0xA0EC | 42C80000 | 100.0 | Throw knockback multiplier(?) | Weight used in Throw Knockback calculation |
0xA0F0 | 3DCCCCCD | 0.1 | Knockback formula value 4(?)(Minimum knockback?) | (Higher = More knockback) (Affects at 0 percent, so not damage) (High values will insta-kill) |
0xA0F4 | 3D4CCCCD | 0.05 | Knockback formula value 5(?) | (Higher = More knockback) (Affects at 0 percent, so not damage) (High values will insta-kill) |
0xA0F8 | 41200000 | 10.0 | WDSK Knockback multiplier | (Higher = More knockback) |
0xA0FC | 3FB33333 | 1.4 | Knockback formula value 6(?) | (Higher = More knockback) (Affects at 0 percent, so not damage) (High values will insta-kill)(probably is more knockback values just ahead of this, but w/e, I spent about an hour mapping 10 knockback values) |
0xA100 | 41900000 | 18 | Knockback formula value 7 | (Higher values increase knockback) |
0xA134 | 3ECCCCCD | 0.4 | Hitstun multiplier | |
0xA138 | 41200000 | 10 | Something to do with tumbling? | (Hilarious) |
0xA170 | 3F733333 | 0.95 | V-cancelling knockback reduction | |
0xA174 | 41A00000 | 20 | Max number of frames of hitlag | |
0xA178 | 3EAAAAAB | 0.333333 | damage multiplier for frames of hitlag | |
0xA17C | 40400000 | 3 | Base hitlag | |
0xA180 | 3F2AAAAB | 0.666667 | Hitlag multiplier on crouching | |
0xA184 | 3FC00000 | 1.5 | Electric hitlag multiplier | |
0xA188 | 41900000 | 18 | Max DI(?) | |
0xA1E4 | 3d50e560 | 0.051 | Launch speed decay per frame | |
0xA1FC | 3F0CCCCD | 0.55 | ||
0xA230 | 41A00000 | 20 | Window to tech after hitting L/R | |
0xA238 | 3DCCCCCD | 0.1 | Air Friction? | (Seems to affect air friction while double jumping) |
0xA240 | 42700000 | 60 | Shield HP | |
0xA244 | 3E19999A | 0.15 | " | |
" | (Affects the Shield's Minimum size until it breaks) | |||
0xA248 | 41000000 | 8 | Minimum frames holding shield | (Dictates how many frames until the player can shield release.) |
0xA258 | 3E0F5C29 | 0.14 | Shield depletion rate | |
0xA25C | 3D8F5C29 | 0.07 | Shield regeneration rate | |
0xA260 | 41F00000 | 30 | Shield reset when broken | (Shield HP resets to this after being broken) |
0xA264 | 3F800000 | 1 | Shield Damage Multiplier? | (Makes shield receive more damage) |
0xA26C | 3FC00000 | 1.5 | Shield Stun Damage Multiplier | (Something related to shield pushback with low damaging attacks) |
0xA270 | 40000000 | 2 | Base Shield Stun | Shield Stun = (1 - [(0xA2C8 - 0xA2C4) * AShield + 0xA2C4]) * 0xA26C * dmg + 0xA270 [Note: Affects Shield Knockback] |
0xA274 | 3E4CCCCD | 0.2 | Shield Knockback Conversion Multiplier | Shield KB = 0xA274 * Shield Stun * 0xA29C for normal shield. 0xA274 * Shield Stun for powershield |
0xA278 | 40000000 | 2 | Digital shield pushback resistance? | |
0xA284 | 3F800000 | 1 | Powershield projectile reflect duration | |
0xA288 | 3F400000 | 0.75 | Powershield projectile reflect size ratio | |
0xA28C | 3F000000 | 0.5 | Reflected projectiles damage ratio (powershield) | |
0xA294 | 40400000 | 3 | Digital Powershield duration? | (Likely the frames the Powershield bubble is active for.) |
0xA29C | 3F19999A | 0.6 | Normal Shield Knockback Multiplier (non-powershield) | Shield KB = 0xA274 * Shield Stun * 0xA29C for normal shield. |
0xA2B4 | 3F800000 | 1 | Lightshield size multiplier | |
0xA2B8 | 3F000000 | 0.5 | Digital shield size multiplier | |
0xA2BC | 3DCCCCCD | 0.1 | Lightshield damage multiplier? | (Setting it too high makes shield gain HP!) |
0xA2C0 | 3E99999A | 0.3 | Digital shield damage multiplier? | (Setting it too high makes shield gain HP!) |
0xA2C4 | 3D4CCCCD | 0.05 | Analog Shield Stun Mult. Value 1 | Part of Shield Stun Formula |
0xA2C8 | 3F333333 | 0.7 | Analog Shield Stun Mult. Value 2 | Part of Shield Stun Formula |
0xA2CC | 3DCCCCCD | 0.1 | Lightshield depletion rate | |
0xA2D0 | 40000000 | 2 | Digital shield depletion rate | |
0xA2D4 | 42800000 | 64 | Lightshield graphical size? | |
0xA2D8 | 43C80000 | 400 | Digital shield graphical size? | |
0xA2F4 | BF333333 | |||
min Y joystick for spotdodge | ||||
0xA2F8 | 00000004 | 4 | max frames since joystick cardinal direction change into Y-axis for spot dodging | |
0xA30C | 3e800000 | 0.25 | ` | |
0xA310 | 3e800000 | 0.25 | Air Dodge Y-axis movement | |
0xA318 | 40466666 | 3.1 | Air Dodge units of movement | (Super Wavedashes galore! Will crash if it is set too high!) |
0xA31C | 3f666666 | 0.9 | Air Dodge momentum multiplier per frame | |
0xA320 | 3F19999A | 0.6 | ||
0xA324 | 41200000 | 10 | Air Dodge(wavedash) landing lag | |
0xA428 | 3F000000 | 0.5 | Air Dodge special fall horizontal tumble multiplier | (How fast you tumble in special fall)(High values will cause it to hang with ALMOST no chance of game unfreezing) |
0xA42C | 3F000001 | 0.6 | Shield angling speed | (High values will cause it to hang) |
0xA430 | 3E99999A | 0.3 | Player on player collision x-push | (High values cause instant death) (How much momentum is given upon touching another player) |
0xA438 | 3FB33333 | 1.4 | Player on player collision z-push | (How much momentum is given upon touching another player) |
0xA448 | 40C00000 | 6 | max frames since joystick cardinal direction change into Y-axis for shield dropping | (doesn't SDI if hold count is greater than or equal to 6) |
0xA444 | 3F28F5C3 | 0.66 | Y joystick for shield dropping (negated) | |
0xA474 | 3E800000 | 0.25 | Joystick position to drop from ledge | |
0xA478 | 0000001E | 30 | Frames before you can regrab the ledge | |
0xA47C | 0000001E | 30 | Frames of ledge intangibility | |
0xA490 | 3F333333 | 0.7 | minimum smash DI threshold formula number | If (xjoy * xjoy) + (yjoy * yjoy) < (0.7 * 0.7) Apply no SDI |
0xA494 | 00000004 | 4 | cardinal direction change for Smash DI | (greater than or equal to is false) |
0xA498 | 40C00000 | 6 | smash DI x/y coord movement normalization | (joystick value multiplied by this) (SDI Strength) |
0xA49C | 40400000 | 3 | Initial spawn platform player stretch timer (Keyframes of player stretching) | |
0xA4D4 | 3F4CCCCD | 0.8 | Blast zone death blast graphic scale | |
0xA4E0 | 0000003C | 60 | Death respawn timer (how long before you respawn) | |
0xA5E0 | 41100000 | 9 | Grounded attack element reduction per input (frames) | |
0xA5EC | 3F333333 | 0.7 | Multiplier for damage in bury formula | |
0xA600 | 00000012 | 18 | Grounded attack element frames of invincibilty on exit | |
0xA668 | 000001E0 | 480 | super/poison mushroom timing (frames) | |
0xA66C | 00000064 | 100 | damage percent compare when obtaining mushroom | |
0xA670 | 000000B4 | 180 | super/poison mushroom timing if > 100% damage (I think) | (Setting this to zero will probably hang upon starting a game!) |
0xA6A0 | 0000001E | 30 | Player is Stretched out at start of match. Both this and Platform compression timer run at same time. Both must be complete to leave platform | |
0xA6A4 | 0000001E | 30 | Initial spawn platform compression timer (Volume of spawn platform) | Spawn platform is compressed to nothing |
0xA748 | 43020000 | 130 | disable walljumping after riding wall for this time (frames) | |
0xA74C | 3F4CCCCD | 0.8 | joystick x axis min value for walljumping | |
0xA750 | 40400000 | 3 | max frames since joystick cardinal direction change into x-axis for walljumping & spot dodging | |
0xA754 | 00000005 | 5 | frames of "stick to wall" during walljump | |
0xA788 | 3C23D70A | 0.01 | Max amount of overlap between hitboxes to count as phantom | If the overlap between a hitbox and hurtbox is less than or equal to this number, but greater than 0, hit will be phantom |
0xA78C | 0000003C | 60 | Magnifier loop damage loop time (frames) | |
0xA790 | 00000096 | 150 | Magnifier loop damage max percent allowed | Any percent higher and you won't take damage |
0xA794 | 00000001 | 1 | Magnifier loop damage | |
0xA7AC | 00000258 | 600 | Cloaking Device duration (frames) | |
0xA7C8 | 00000104 | 260 | Meteor smash lower angle limit | (Lowest angle for meteor smash) |
0xA7CC | 00000118 | 280 | Meteor smash upper angle limit | (Highest angle for meteor smash) |
0xA7D0 | 00000008 | 8 | Meteor cancel window timing(frames) | |
0xC768 | 48000000 | Unknown | Smash charge aura lighting/blinking | (Very unexplored format) |
0xC76C | FFFF80AA | 255,255,128,170 | Smash charge aura color | (rgb(a?)) |
0xCEB8 | F2595900 | 242,89,89 | Player 1 shield color | (rgb(a?)) |
0xCEBC | 6666FF00 | 102,102,255 | Player 2 shield color | (rgb(a?)) find me |
0xCEC0 | FFBF4000 | 255,19,244 | Player 3 shield color | (rgb(a?)) |
0xCEC4 | 4DE64D00 | 77,54,77 | Player 4 shield color | (rgb(a?)) |
0xCEC8 | 80808000 | 128,128,128 | CPU shield color | (rgb(a?)) |
0xCECC | FFCCCC00 | 255,204,204 | Player 1 death flash color | (rgb(a?)) |
0xCED0 | CCCCCC00 | 204,204,204 | Player 2 death flash color | (rgb(a?)) |
0xCED4 | FFFFB200 | 255,255,178 | Player 3 death flash color | (rgb(a?)) |
0xCED8 | CCFFCC00 | 204,255,204 | Player 4 death flash color | (rgb(a?)) |
0xCEDC | FFFFFF00 | 255,255,255 | CPU death flash color | (rgb(a?)) |
Bones
Preliminary Info: https://smashboards.com/threads/custom-subaction-event-character-data-modifications.429112/#post-20920399 | ||
Bone lookup table entry | Size 0x10 | |
0x0 | "Bone Table 1" pointer | |
0x4 | "Bone Table 2" pointer | |
0x8 | Bone Flags | Float |
0xC | Bone Parent ID + 1 ? | |
0xD | ??? | |
0xE-0xF | ??? | |
Bone Table 1 Entry | ||
0x0 | (Parent Bone?) | Pointer |
0x4 | Int | |
0x8 | (Child Bone?) | Bone Table Entry Pointer |
0xC | (Child Bone?) | Bone Table Entry Pointer |
0x10 | (Child Bone?) | Bone Table Entry Pointer |
0x14 | ??? | Flags? |
0x18 | ??? | |
0x1C | "ZXY 1" | Float[3] |
0x28 | Float? / 0x1C + 0x28 are sometimes set to the quaternion representation of the rotation (see 8000c630) | |
0x2C | ZXY Bone Scale | Float[3] |
0x38 | "ZXY 3" | Float[3] |
0x44 | "ZXY 4"' | Float[3] |
0x50 | "ZXY 5" | Float[3] |
0x5C | "ZXY 6" | Float[3] |
0x68 | "ZXY 7" | Float[3] |
0x74 | ||
0x78 | ||
0x7C | ||
0x80 | ||
0x84 | Animation Reference Table Entry? | Pointer. Pointer to table entry of permanant dimensions/coordinates. This pointer can change between different animations (verify?). |
Bone Table 2 Entry | ||
Animation Reference Table Entry? | Pointer. Pointer to table entry of permanant dimensions/coordinates. This pointer can change between different animations (verify?). | |
Animation Reference Table Entry |
StartMelee Struct
Used by: 801a583c | This struct sets up match related information | 8045ac58 - Pointer to regular VS struct | This is a static location, and each Special Mode has a different location for the struct of its own with the same layout |
Struct Header | |||
0x00 | |||
Set to -1 by 80167B50 | |||
0x01 | |||
Set to -1 by 80167B50 | |||
0x02 | |||
Set to -1 by 80167B50 | |||
0x03 | 0 | Not initialized, alignment padding? | |
0x04 | Unk | ||
0x05 | |||
0x06 | |||
0x07 | |||
0x08 | |||
StartMelee Struct | |||
0x00 | 0x1?00064C | ||
0x04 | 0x83000000 | ||
0x0C | 0x000000?? | ||
0x?? | Byte | ||
0x0D | 0x6E | Byte | |
0x0E | Stage ID | Short. | Ex. 0x0008 = Yoshi's Story |
0x1C | 0x000000?? | ||
0x20 | 0xFFFFFFFF | ||
0x24 | 0xFFFFFFFF | ||
0x28 | 0x00000000 | ||
0x2C | 0x3F800000 | Float. Always 1.0? | |
0x30 | 0x3F800000 | Float. Damage Ratio (Default 1.0) | |
0x34 | Match Speed | Float. Increases the speed of EVERYTHING | Not set back to 1.0 for new match, permanent |
0x38 | Camera Change Function | Pointer to the camera function associated | Fixed Camera = 80165290, Normal = 0 |
0x3C | 0x00000000 | ||
0x40 | 0x00000000 | ||
0x44 | 0x00000000 | ||
0x48 | 0x00000000 | ||
0x4C | 0x00000000 | ||
0x50 | 0x00000000 | ||
0x54 | 0x00000000 | ||
0x58 | 0x00000000 | ||
0x5C | 0x00000000 | ||
0x60 | Player 1 Char ID | Byte | |
0x61 | Controller Port? | Byte | |
0x62 | Player 1 Stocks | Byte | |
0x63 | Costume | Byte | |
0x64 | 0x00FF0000 | ||
0x68 | 0x09007800 | Argument passed for 8016795C on first iteration. | |
0x6C | 0x400004 | ||
0x6F | Player 1 CPU Level | Byte | |
0x70 | 0x00000000 | ||
0x74 | 0x00000000 | ||
0x78 | Player 1 X Scale | Float. Always 1.0, even in Tiny/Giant Melee | |
0x7C | Player 1 Y Scale | Float. | |
0x80 | Player 1 Z Scale | Float. | Not set back to 1.0 for new match, permanent |
0x84 - 0xA4 | Player 2 | ||
0xA8 - 0xCC | Player 3 | ||
0xD0 - 0xF4 | Player 4 | ||
0xF8 - 0x11C | Player 5 | ||
0x120 - 0x144 | Player 6 |
Character Data Offsets
Offset | Effect | Comments | Functional Explanations / Notes |
Static Player Block | Length 0xE90 | Static block starting at 0x80453080 for P1, 80453F10 for P2, 80454dA0 for P3, 80455C30 for P4 | |
0x00 | Player State | Int. 0x02 In-Game (includes dead). 0x00 Otherwise. | |
0x04 | Player Character (External ID) | Int. | |
0x08 | Slot Type (Human, CPU, Demo, None) | Int. (0x0000000 is HMN, 0x00000001 is CPU, 0x00000002 is Demo, 0x00000003 n/a) | |
0x0C | Transformed | Short. 0x0001 for normal, 0x0100 for transformed (Probably Zelda/Sheik only) | 800326CC multiplies 1 * 0x0C if a character is transformed. So the formula for position = 0x10 + (0x0C * isTransformed), resulting in positions offsets 0x1C through 0x24 instead of 0x10 through 0x18 |
0x0E | 0000? | Short. | |
0x10 | Nametag X (Horizontal) Position | Float | |
0x14 | Nametag Y (Vertical) Position | Float | |
0x18 | Nametag Z (Depth) Position | Float | |
0x1C | Transformed Player X Position | Float. Set by initial spawn & respawns. If you're transformed, this acts as the player nametag position. | |
0x20 | Transformed Player Y Position | ||
0x24 | Transformed Player Z Position | Float. | |
0x28 | Spawn Platform Final Position X | Float. These are set the first time you respawn, unless a stage changes your spawn position | |
0x2C | Spawn Platform Final Position Y | Float. | |
0x30 | Spawn Platform Final Position Z | Float. Same as Spawn Position Z. | |
0x34 | ? | ||
0x38 | ? | ||
0x3C | ? | Int | |
0x40 | Facing Direction | Float. | |
0x44 | Costume ID | Byte. 00 = normal, 01 = red, 02 = blue, 03 = green (reflected in icon immediately) | |
0x45 | ? | Byte. | |
0x46 | Controller Index | Byte. | |
0x47 | Byte. 00 = red, 01 = blue, 02 = green | ||
0x48 | Player ID | Byte. | |
0x49 | CPU Level | Byte. | |
0x4A | CPU Type | Byte. | |
0x4B | Handicap Value | Byte. | |
0x4C | ? | ||
0x50 | ? | Float | |
0x54 | Attack Ratio | Float | |
0x58 | Damage Defense Ratio | Float | |
0x5C | Model Scale | Float. Scale that match was started with. Modifying does nothing. | |
0x60 | Stamina HP Lost / Percentage - Currently Displayed | Short | |
0x62 | Starting Percentage / Nana's % | Short. Used in modes like Sudden Death to set your starting Percentage. Otherwise Nana's or Sheik's % | |
0x64 | Stamina HP | Short | |
0x66 | ? | Short | |
0x68 | Falls | Int | |
0x6C | Nana's Death Count | Int | |
0x70 | P1 KOs | Int | |
0x74 | P2 KOs | Int | |
0x78 | P3 KOs | Int | |
0x7C | P4 KOs | Int | |
0x80 | P5 KOs | Int | |
0x84 | P6 KOs | Int | |
0x88 | Match Frame Count | Int. If -1 in zz_0035184, then it's set to MatchInfo->frame_count | |
0x8C | Suicide Count | Short | |
0x8E | Stocks | Byte | |
0x8F | 00? | Byte | |
0x90 | Current Coins | Int | |
0x94 | Total Coins Collected | Int | |
0x98 | ? | ||
0x9C | ? | Int. | |
0xA0 | Joystick Direction Input Count | Int. Incremented every time you move the joystick a different direction from neutral. | |
0xA4 | ? | ||
0xA8 | Name Tag Slot ID | ||
0xAC | Bit Flags | Byte. (Multi-Spawn - 0x40 = True) (Rumble Flag bit 24) | |
0xAD | ? | ||
0xAE | ? | ||
0xAF | ? | ||
0xB0 | Pointer to Player Entity | ||
0xB4 | Pointer to Sub-Character Entity | Used for followers, such as Nana | |
0xBC | Stale Move Table Current Write Index | Int. Zero-Indexed. Rolls over after 9. Increments after each write. | |
0xC0 | Stale Move Index 0 | 1st Short is the move ID | |
0xC4 | Stale Move Index 1 | 2nd Short is the # of action states that character has gone through this game | |
0xC8 | Stale Move Index 2 | ||
0xCC | Stale Move Index 3 | ||
0xD0 | Stale Move Index 4 | ||
0xD4 | Stale Move Index 5 | ||
0xD8 | Stale Move Index 6 | ||
0xDC | Stale Move Index 7 | ||
0xE0 | Stale Move Index 8 | ||
0xE4 | Stale Move Index 9 | ||
0xE8 | Total Player Attack Count | Int. Incremented by 1 with each attack, hit or miss | |
0xEC | ? | Int. | |
0x6A8 | ? | Accessed by 800362B4 | |
0x66C | Dash Forward Count | ||
0x674 | Jump Count | ||
0x690 | Ledge Grab Count | ||
0x694 | Taunt Count | * | |
0x69C | Shield Count | ||
0xD18 | Total Connected Attacks | Int. Incremented when an attack lands | |
0xD1C | Total Damage Received | Float. | |
0xD20 | Peak Damage Received | Float. Reflects the highest amount of damage received in a single life | |
0xD28 | Total Damage Given | Float. | |
0xD38 | Total Damage Received (Repeated?) | Float. | |
START Player Entity Struct | Length 0x38 | Refers to values starting from the "data pointer," also known as a GObj | |
0x00 | Entity Class | Short. 0x0004 indicates a Player. Ex. 0x00040805 | |
0x02 | p_link | Byte. | |
0x03 | gx_link | Byte. Index into 2 arrays (highest render priority & lowest) of various GObjs for rendering, essentially indicating object type. | |
0x04 | P Priority | Byte. Reference 8038ffb8 | |
0x05 | GX Render priority | Byte. Reference 8039069C | |
0x06 | obj_kind | Byte. Set to 0xFF for NO REF. | |
0x07 | data_kind | Byte. Set to 0xFF for NO REF. | |
0x08 | Next player's data pointer | Data pointers are "daisy-chained," so each subsequent player is accessed from the data pointer of the previous | |
0x0C | Previous player's data pointer | For P2+, this points to P(n - 1) | |
0x10 | Next player's data pointer - GX Ordered | This points to the lower render priority GObj relative to this one. | |
0x14 | Previous player's data pointer - GX Ordered | This points to the higher render priority GObj relative to this one. | |
0x18 | Pointer to GObjProc | ||
0x1C | GXCallback Render Function | 0x80080E18(entity*, int code) | |
0x20 | 0x0000000000000000 | 64-bit bitmask. Not used by player GObj. | |
0x28 | Pointer to JObj | ||
0x2C | Pointer to Player Character Data (see below table) | Usually 0x60 away from the start of Player Entity Struct | |
0x30 | Pointer to Destructor Function | 0x8006DABC(entity*) | |
0x34 | Pointer to Linked List | ||
START Player Character Data | Traditionally, the game points to this for anything related to Char Data, as sometimes the data does not immediately follow the entity struct | ||
0x00 | Entity Struct Pointer | Points back to 0x00 of the Entity | |
0x04 | Player Index (Internal ID) | Word. Used for bone lookups, such as prior to spawning JObjs at a specified bone | |
0x08 | Current Spawn # | The current life is the nth character spawned since the beginning of the match | |
0x0C | Player Slot | Byte | |
0x0D | Byte | ||
0x0E | Byte | ||
0x0F | Byte | ||
0x10 | Action State | The value at this address indicates the action state of the character. Modifying this alone does nothing. | |
0x14 | Animation State | The animation to occur after the current one ends. Only has an effect if the current action state is set to loop. | |
0x18 | 0x155 | Move table divider constant? | |
0x1C | Shared Action State Table Pointer | ||
0x20 | Move Table Pointer | Player dependent move table pointer | |
0x24 | Character's action state hitbox/animation pointer | ||
0x28 | End of hitbox data pointer? | ||
0x2C | Facing direction | Float. 1 is right, -1 is left | |
0x30 | Facing direction | Facing direction at the beginning of the current Action State | |
0x34 | Player Scale | Read on map load. | |
0x38 | Player Scale | Read on map load. Set according to 0x94. Affects physics. [Affects hitbox size?] | |
0x3C | Player Depth Scale | Read on map load. Changes width on Z-Axis | |
0x40 | Pointer to Next Linked List | Traditionally 0x00000000. THIS IS NOT ALWAYS CONSISTENT | |
0x44 | Pointer to 0x40 / Pointer to Prev Linked List | ||
0x48 | Length of Linked List | Always 0x40 (64)? | |
0x74 | Acceleration X | Float. The Acceleration vars are added to their respective Velocity (self-induced) counterparts once, then cleared immediately. Stick-influence functions typically use Acceleration to alter Velocity. | |
0x78 | Acceleration Y | Float. | |
0x7C | Acceleration Z | Float. | |
0x80 | Horizontal velocity (self-induced) | Changing this will only have an effect if the character is in the air. | |
0x84 | Vertical Velocity (self-induced) | Float. Positive = up, negative = down. Changes when the player jumps/falls of his own accord. Does not kill upward. | |
0x88 | Depth velocity (self-induced) | Float. Assume unused. | |
0x8C | Horizontal velocity (attack-induced) | Float. Positive = right, negative = left. | |
0x90 | Vertical velocity (attack-induced) | Float. Positive = up, negative = down. Only works when player is in the air. Changes when the player is attacked. Kills upward. | |
0x94 | Depth velocity (attack-induced) | Float. Assume unused. | |
0x98 | Attacker shield knockback velocity X | Float. Hitting a shield induces this type of velocity on the attacker. | |
0x9C | Attacker shield knockback velocity Y | Float. | |
0xA0 | Attacker shield knockback velocity Z | Float. Unused | |
0xA4 | Unknown velocity X | ||
0xA8 | Unknown velocity Y | ||
0xAC | Unknown velocity Z | ||
0xB0 | X (Horizontal) position | Float. Positive is right, negative is left. 00000000 is center. | |
0xB4 | Y (Vertical) position | Float. | |
0xB8 | Z (Depth) position | Float | |
0xBC | X (Horizonal) position (Prev. Frame) | Float | |
0xC0 | Y (Vertical) position (Prev. Frame) | Float | |
0xC4 | Z (Depth) Position (Prev. Frame) | Float | |
0xC8 | X Delta (Curr - Prev Pos) | Float | |
0xCC | Y Delta (Curr - Prev Pos) | Float | |
0xD0 | Z Delta (Curr - Prev Pos) | Float | |
0xE0 | Ground/Air state | 0x00000000 on ground, 0x00000001 in air. Changing does nothing. | |
0xE4 | Ground Acceleration 1 (Added to 0xEC) | Float. Added to Acceleration (0x74 - 0x7C) according to surface, and added to Ground Velocity when used. | |
0xE8 | Ground Acceleration 2 | Float. Similar to Ground Acceleration 1 in concept, but used differently: not added to Acceleration, thus shows no immediate effect on velocity. Has effect to self-induced velocity on 1 frame delay, as it's added to Ground Velocity. | |
0xEC | Ground Velocity (ground, self-induced) | Float. Self-induced. 1-dimensional ground velocity, which is converted to 3-dimensional velocity each grounded frame, according to surface angle. Replaces self-induced velocity with the converted vector. | |
0xF0 | Ground knockback velocity (ground, attack-induced) | Float. Attack-induced. 1-dimensional ground velocity, which is converted to 3-dimensional velocity each grounded frame | |
0xF4 | Ground attacker shield knockback velocity | Float. Shield hit induced. 1-dimensional ground velocity, which is converted to 3-dimensional velocity each grounded frame, according to surface angle. | |
0xF8 | Player Nudge Velocity X | Float. Horizontal velocity that grounded character gains when pushed by being close to another character. | |
0xFC | Player Nudge Velocity Z | Float. Depth velocity that grounded character gains when pushed by being close to another character. | |
0x100 | ??? | Float. | |
0x104 | Unk Pointer | ||
0x108 | Unk Pointer | ||
0x10C | Pointer to .dat file in RAM | "0x8 from the address located here contains a pointer to the start of the .dat (0x20 of the start of the .dat in RAM) | |
0x44 from the address located here contains a pointer to ledge grab box values. 0x10,014,0x18 are ledge grab box values" | |||
Character Attributes | These values are taken from the dat files and loaded directly into memory. | ||
0x110 | Walk initial velocity | Float. | |
0x114 | Walk acceleration | ||
0x118 | Walk terminal velocity | ||
0x11C | Slow walk max? | ||
0x120 | Mid walk point? | ||
0x124 | Fast walk min? | ||
0x128 | Ground friction | ||
0x12C | Dash initial velocity | ||
0x130 | Dash/run acceleration A | ... | Dash/Run Analog - Is used a multiplier for the Stick X position |
0x134 | Dash/run acceleration B | Dash/Run Base - Is used a constant | |
0x138 | Dash/run terminal velocity | ||
0x13C | Run animation scaling | ||
0x140 | Max RunBrake Frames | ||
0x144 | Grounded Max Horizontal Velocity | ||
0x148 | Jump startup time | ||
0x14C | Jump H initial velocity | ||
0x150 | Jump V initial velocity | ||
0x154 | Ground to air jump momentum multiplier | ||
0x158 | Jump H max velocity | ||
0x15C | Hop V initial velocity | ||
0x160 | Air jump V multiplier | ||
0x164 | Air jump H multiplier | ||
0x168 | Max Jumps | ||
0x16C | Gravity | Float. | |
0x170 | Terminal Velocity | ||
0x174 | Air mobility A | ||
0x178 | Air mobility B | ||
0x17C | Terminal Horizontal Air Velocity | ||
0x180 | Horizontal Air Friction | ||
0x184 | Fastfall Velocity | ||
0x188 | Aerial Max Horizontal Velocity | Float | |
0x18C | Jab-2 input window | ||
0x190 | Jab-3 input window | ||
0x194 | Frames to change direction on standing turn | ||
0x198 | Weight | ||
0x19C | Model Scaling | ||
0x1A0 | Initial Shield Size | ||
0x1A4 | Shield break initial velocity | ||
0x1A8 | Rapid jab window | ||
0x1AC | ??? | ||
0x1B0 | ??? | ||
0x1B4 | ??? | ||
0x1B8 | Ledge Jump Horizontal Velocity | ||
0x1BC | Ledge Jump Vertical Velocity | ||
0x1C0 | Item Throw Velocity Multiplier | ||
0x1C4 | ??? | ||
0x1C8 | ??? | ||
0x1CC | ??? | ||
0x1D0 | ??? | ||
0x1D4 | ??? | ||
0x1D8 | ??? | ||
0x1DC | ??? | ||
0x1E0 | ??? | ||
0x1E4 | ??? | ||
0x1E8 | ??? | ||
0x1EC | ??? | ||
0x1F0 | Kirby B Star Damage | ||
0x1F4 | Normal Landing Lag | ||
0x1F8 | N-air Landing Lag | ||
0x1FC | F-air Landing Lag | ||
0x200 | B-air Landing Lag | ||
0x204 | U-air Landing Lag | ||
0x208 | D-air Landing Lag | ||
0x20C | Victory Screen Window Model Scale | ||
0x210 | ??? | ||
0x214 | Wall Jump Horizontal Velocity | ||
0x218 | Wall Jump Vertical Velocity | ||
0x21C | ??? | ||
0x220 | ??? | ||
0x224 | ??? | ||
0x228 | ??? | ||
0x22C | ??? | ||
0x230 | ??? | ||
0x234 | ??? | ||
0x238 | ??? | ||
0x23C | ??? | ||
0x240 | ??? | ||
0x244 | ??? | ||
0x248 | ??? | ||
0x24C | ??? | ||
0x250 | |||
0x254 | ??? | ||
0x258 | ??? | ||
0x25C | Bubble ratio? | ||
0x260 | ??? | ||
0x264 | ??? | ||
0x268 | ??? | ||
0x26C | ??? | ||
0x270 | Respawn Platform Scale | ||
0x274 | ??? | ||
0x278 | ??? | ||
0x27C | Camera Zoom Target Bone? | ||
0x280 | ??? | ||
0x284 | ??? | ||
0x288 | ??? | ||
0x28C | Special Jump Action = -1...? | ||
0x290 | Weight Dependent Throw Speed Flags | Does not actually get read from here, only from the loaded character file itself. | |
*Character Attributes End* | |||
0x2D4 | Pointer to 0x2420 | Used by functions that are checking Article FP data | |
0x2D8 | Pointer to 0x2420 (Repeated) | ||
0x3E4 | Sub Action Event Timer | (Start of subaction struct. Often referenced as a pointer in subaction event functions as r4) | |
0x3E8 | Sub Action State Frame Counter | Float, resets to 1 with each new action state. | |
0x3EC | Subaction Syntax Data Position Pointer | Pointer. Pointer points to the current position of the subaction event data (by the Word) as it is being read by the subaction event handler. The subaction event data is as it is stored in the Pl**.dat file. | |
0x3F0 | Event Loop Count | Int. Controlled by Event 0x0C | |
0x3F4 | Event Return Pointer | ||
0x3F8 | Unk | Int. Same functionality as 0x3F0. | |
0x3FC | Unk | ||
0x400 | Pointer to 0x460 | ||
0x404 | Pointer to 0x3C0 | ||
0x49C | Pointer to 0x4B0 / Color Blend Pointer | ||
0x4B4 | rrggbbaa color | Changing changes color. | |
0x4B8 | Red value | Float. Set between 0 and 255. | |
0x4BC | Green value | Float | |
0x4C0 | Blue value | Float | |
0x4C4 | Alpha value | Float | |
0x4C8 | Red blink rate | Float | |
0x4CC | Green blink rate | Float | |
0x4D0 | Blue blink rate | Float | |
0x4D4 | Alpha blink rate | Float | |
0x504 | Color tint on/off | Byte. Change to 0x80 or above to induce a color tint. Melee uses 0x91 | |
0x58C | Action state ID? | read during ASC @ 80085cf8 | Seems to be # of Subactions the character has |
0x590 | Action state data pointer | I THINK this points to data related to current action state. | |
0x594 | Team ID | Most-significant bit appears to be related to air-to-ground momentum transfer, rest unknown | |
0x598 | Unknown pointer | ||
0x59C | Pointer to portion of PlxxAJ.dat for current subaction | ||
0x5A4 | Action state data length | ||
0x5E8 | Bone lookup table (Points to a table of pointers to JObjs) | http://smashboards.com/threads/custom-subaction-event-character-data-modifications.429112/#post-20920399 | Note: The Table1 referenced here is incorrect - It's actually a JObj. |
0x5F8 | Item Held Bool? | ||
0x60C | Pointer to GFX to display | ||
0x618 | Player controller number | Byte. Change this to have a different player control the character. | |
0x619 | Costume ID | Byte. | |
0x61A | Color Overlay ID | ||
0x61B | Team ID | Byte. 00 = red, 01 = blue, 02 = green | |
0x620 | Analog Stick Data X | Used to compare previous value vs. current value to differentiate "tilts" and "smashes" | |
0x624 | Analog Stick Data Y | ||
0x628 | Prev Analog Stick X | ||
0x62C | Prev Analog Stick Y | ||
0x630 | |||
0x634 | |||
0x638 | C-Stick X-Axis | Float (-1.0 to 1.0) | |
0x63C | C-Stick Y-Axis | Float (-1.0 to 1.0) | |
0x640 | Flags | ||
0x644 | |||
0x648 | |||
0x64C | |||
0x650 | Analog trigger data | 43/140 minimum, 1.00 maximum. 0.35 if z held. | |
0x65C | Digital Button Data | See Global Addresses regarding Controller Data to better understand this. | |
0x660 | Digital Button Data (Prev. Frame) | ||
0x668 | Instant Buttons | ||
0x670 | Frames Analog Stick Has Been in Tilt (X-Axis) | ||
0x671 | Frames Analog Stick Has Been in Tilt (Y-Axis) | ||
0x672 | Frames Analog Trigger Has Been Lightly Pressed | ||
0x673 | Frames Analog Stick Has Been in SmashTurn or Tilt (X-Axis) | ||
0x674 | Frames Analog Stick Has Been in SmashTurn or Tilt (Y-Axis) | ||
0x675 | Frames Analog Trigger Has Been Hard Pressed | ||
0x676 | Frames Since Analog Stick Was Moved From X-Axis | ||
0x677 | Frames Since Analog Stick Was Moved From Y-Axis | ||
0x678 | Frames Since Analog Trigger Was Moved | ||
0x67C | Frames Since A Button Was Pressed | ||
0x67D | Frames Since B Button Was Pressed | ||
0x67E | Frames Since X/Y Button Was Pressed | ||
0x67F | Frames Since Z Button Was Pressed | ||
0x680 | Frames Since L/R Digital Button Was Pressed | ||
0x681 | Frames Since DPad Up Button Was Pressed | ||
0x682 | Frames Since DPad Down Button Was Pressed | ||
0x688 | Unknown Byte Flag | Modified in function at 0x8006abec; unknown. | |
0x689 | Time since Special Button being pressed (not modifiable?) | Modified in function at 0x8006abec; is based on the bool return value of a function pertaining to the B button. Byte. (0=just pressed; n = pressed n frames ago) | |
0x694 | TopN X Translation | Can be scaled by model scale | |
0x6A8 | Unk (Y Offset from Double Jump position?) | Float. Used for Peach, Mewtwo, Yoshi, Ness Jump calc. | |
0x6AC | Unk | Float. Seen using Peach's Umbrella | |
0x6F0 | Pointer to 0x00 / Start of Physics Struct | ||
0x6F4 | X (Curr Frame) | Float. Likely positions of TopN for physics related functions. | |
0x6F8 | Y | Float | |
0x6FC | Z | Float | |
0x700 | X (Prev Frame) | Float | |
0x704 | Y | Float | |
0x708 | Z | Float | |
0x70C | X (Prev Frame) | Float | |
0x710 | Y | Float | |
0x714 | Z | Float | |
0x718 | X (Curr Frame) | Float | |
0x71C | Y | Float | |
0x720 | Z | Float | |
0x724 | Floor ID During Action State | Set by 8004CBE8, set to -1 by 8004CBF4 | |
0x726 | Ledge grab box activation | ||
0x72C | Floor ID - Action State | ||
0x738 | Collision? | ||
0x744 | Ledge Grab Box - X Width | ||
0x748 | Ledge Grab Box - Y Displacement | ||
0x74C | Ledge Grab Box - Y Stretch | ||
0x774 | ECB top X | ||
0x778 | ECB top Y | ||
0x77C | ECB bottom X | ||
0x780 | ECB bottom Y | ||
0x784 | ECB right X | ||
0x788 | ECB right Y | ||
0x78C | ECB left X | ||
0x790 | ECB left Y | ||
0x820 | ECB Update Flags? | 00000010 = Not ECB Bottom update | |
0x824 | Environment Bitfield | ||
0x828 | Environment Bitfield Prev Frame | ||
0x830 | Position Last Landed X | Float | |
0x834 | Position Last Landed Y | Float | |
0x83C | Floor ID | ||
0x840 | Ground Type | ||
0x83F | Platform ID | ||
0x842 | Stage relation ID | ||
0x843 | Stage transformation ID | Byte. Default is 00, Pokemon Stadium transformations change this value | |
0x844 | Surface Normal X | Outward pointing unit length surface normal, at the point where the character stands | |
0x848 | Surface Normal Y | ||
0x84C | Surface Normal Z | Probably always 0? But gets updated every time and is used used when the vector is normalized | |
0x850 | Right Wall ID last hit | ||
0x864 | Left Wall ID last hit | ||
0x878 | Ceiling ID last hit | ||
0x88C | ECB Inactive Frames | Int. | |
0x890 | Pointer to Camera FP Data | See 80086B80 for example | |
0x894 | Action State Frame Counter | Float, resets to 1 with each new action state. | |
0x898 | ??? | Float. Used for setting 0x3E8 during Event function | |
0x89C | Speed of Current Animation | Float. Changing does nothing. | |
0x8A4 | ??? | Knocks player out of action states when set to 40C00000 | |
0x914 | Hitbox 0 | http://smashboards.com/threads/custom-subaction-event-character-data-modifications.429112/#post-20920399 | |
0xA4C | Hitbox 1 | Note that the above thread lists as +0x60 position | |
0xB84 | Hitbox 2 | ||
0xCBC | Hitbox 3 | ||
0x1198 | Player ID Hitbox cannot Hit? | For some reason there is a flag in the hitbox subaction event that, when combined with this address being zero, prevents said hitbox from spawning (The code literally makes the parser skip over the hitbox.). See 0x8007121c. // Makes an exception for hitbox collision? | Update: Pointer of the player who threw this character. Used for throw knockback collisions and enables hitboxes only when character is thrown. |
0x119C | Team ID stored here | Somethign to do with Hitboxes and friendly fire? | |
0x119D | Grabbing player's 0xC variable? | The byte at 0xC of the grabbing player's block is stored here for the person who was grabbed | |
0x11A0 | Hurtbox data start. | https://smashboards.com/threads/melee-gecko-codes-guide-and-discussion.327311/page-44#post-21572283 | |
0x1830 | Percentage | Float. | |
0x1838 | Percentage for applied next frame | Float | |
0x183C | Damage Applied | Int. | |
0x1840 | 0x00000000? | ||
0x1844 | Damage Direction | Float. -1 to 1 | |
0x1848 | Knockback Angle | Int. Normally 0x00000169 (Sakurai Angle) | |
0x184C | 0x00000001? | ||
0x1850 | Force Applied | Float. | |
0x1854 | X Position of Hitbox | Float | |
0x1858 | Y Position of Hitbox | Float | |
0x185C | Z Position of Hitbox | Float | |
0x1860 | Unk | Dependent on 0x1848 | |
0x1864 | Unk | Dependent on 0x1848 | |
0x1868 | Damage Source | Points to an entity | |
0x186C | Last Applied Damage | Float | |
0x18A4 | ??? | Float. Loaded with 80087454 | |
0x18B4 | Armor | Acts like Yoshi's Double Jump Armor. Works on Grounded and Aerial! Float. | |
0x18B8 | SDI horizontal offset | ||
0x18BC | SDI vertical offset | ||
0x18C4 | Slot of Last Damage Source | 0 - 5, with 6 indicating a self-destruct | |
0x18D0 | Type of hit | 3 = normal hit, or shows Item ID used to damage. | |
0x18F4 | Turn Timer | ||
0x1910 | Frames Spent Offscreen | Goes up by 1 for every frame in offscreen bubble | |
0x195C | Hitlag counter | Float. Counts down by 1 every frame until reaching 0. The last frame of hitlag is the frame before it hits 0. | |
0x1968 | Number of jumps used (8-bit) | Gives more jumps if lowered. | |
0x1969 | Number of walljumps used | Read by the Walljump AS to determine how much velocity to give (800c2114) | |
0x1974 | Item Held | ||
0x1978 | Item Related? | ||
0x197C | Bunny Hood | ||
0x1988 | Body State related | Checked for != 0 in 800693AC and calls 8007B62C with a param of 0 | |
0x198C | Player body state (32-bit) | 0 = normal, 1 = invulnerable, 2 = intangible | |
0x1990 | Ledge invincibility timer | Invincibility runs out when this hits 0. Modifiable. | |
0x1994 | Halo invincibility timer | Invincibility runs out when this hits 0. Modifiable. | |
0x1998 | Shield size | ||
0x199C | Lightshield amount | Float. 1 is hard shield. z-shield is 3D924921, or .071429 | |
0x19A4 | Shield Follow Bit | ||
0x19C4 | Shield Follow Bit | ||
0x19E8 | Reflect Follow Bit | ||
0x1A40 | Direction Absorb Was Hit From | Float, | |
0x1A44 | Damage Dealt to Absorb? | Int. | |
0x1A4C | Breakout countdowns | Float. Grabs, sleep attack element, ground attack element. Player breaks out when this reaches 0. | |
0x1A58 | Pointer to Grabbing Player | ||
0x1A5C | Linked Hitlag Partner | When this character experiences hitlag, the linked hitlag partner is put to dependent hitlag with this character. Grabber / Grabbed characters are linked hitlag partners together, as are ICs performing joint sideb for example. | |
0x1A68 | ??? | Short. Set according to r4 in 8007e2d0 | |
0x1A6A | Grabbable Flag | Short. Set according to r4 by 8007e2f4 | |
0x1A94 | CPU AI Type | Int. Lower 8 bits is the type. Can be changed mid-game. | |
0x1A98 | CPU Level | Int. Can be changed midgame | |
0x1AA0 | CPU Behaviour ID | Determines generic "what to do" based on action states | |
0x1edc | AI Button Commands | Queued commands | PlCo offsets E12C to E60C consist of button sequences |
0x1F1C | Pointer to 0x1F90 | ||
0x1F74 | Pointer to 0x1F7C | ||
0x2000 | Lip Stick Flower Remainder | Frames of Lip Stick Flower remaining | |
0x2004 | Starman Invincibility | Controls something with the duration of the sparkle after starman ends. | |
0x2008 | Mushroom Duration | (32-bit) After obtaining a either mushroom, default length gets stored in this address and is decremented by one every frame. Transforms back to regular size when reaches 0. | |
0x2014 | Bunny Hood Duration | Frames of Bunny Hood remaining | |
0x2028 | Metal Box Duration | Frames of Metal Box remaining | |
0x2030 | Cloaking Device Duration | Frames of Cloaking Device remaining | |
0x2064 | Ledge Grab Cooldown | Decrements by 1 each frame off the ledge | |
0x206C | Total # of action states | Increases by 1 with every new action state until match end. | |
0x2070 | Word from 0x4 of Move Logic Table | 8-Bit (is read in bits, but is stored with a word @ 8008968c (comes from action state change)) | |
0x2071 | Unknown | 8-Bit (80037cdc reads this during actionstatechange) | |
0x2072 | Unknown | 8-Bit (80037ca4 and 80037c88 read this during actionstatechange) | |
0x2073 | Unknown | Byte (80037cf8 reads this during actionstatechange), | |
0x2074 | Percentage as Int? | Written to here (800896a4) | |
0x2084 | ??? | Byte. Seems to have something to do with how the Sakurai angle is calculated. See 0x8007ac9c. | |
0x208C | Last attack landed | ||
0x2090 | Combo count (16-bit) | ||
0x2098 | Player tag countdown | Displays the "P1", etc. tag when the countdown hits 1. | |
0x20A4 | ??? | Pointer to loaded by 800872B0 | |
0x20C4 | Pointer to 0x2138 | These are part of some sort of linked list. The next value after pointers always seems to be 6. | |
0x20D4 | Pointer to 0x1FDC | ||
0x20D8 | Pointer to 0x214C | ||
0x20E8 | Pointer to 0x1FE4 | ||
0x20EC | Pointer to 0x2160 | ||
0x210C | Wallride counter (8-bit) | Set to 0 when contact with a wall (other conditions necessary) | |
0x2110 | Wall location (float) | Wall on left(1)/right(-1) of character | |
0x2114 | Smash attack state | 2 = charging smash, 3 = attacking with charged smash, 0 = all other times | |
0x2118 | Smash attack charge frame counter | ||
0x211C | Frame number at which a fully charged smash initiates (float) | default = 0x42700000 = 60 | This isn't accurate for Fox. For him, it's a pointer to 0x2124. So, this is likely some kind of struct that needs to be better understood. |
0x2120 | Charged smash attack strength multiplier | ||
0x2124 | Charged smash attack animation speed multiplier (attack animation only) | ||
0x2188 | ??? | ||
0x218C | ??? | Int. Some kind of timer. Seems to count down on attacks and up during states like Wait | |
0x219C | Current Action State IASA Function Pointer | ||
0x21A0 | Current Action State Animation Interrupt Pointer | ||
0x21A4 | Current Action State Physics Pointer | ||
0x21A8 | Current Action State Collision Interrupt Pointer | ||
0x21AC | Current Action State Camera Behavior Pointer | ||
0x21BC | Projectile Spawn Function Pointer | 800E1178 is an example of this being set for Mario's Special N. | |
0x21C0 | Pointer to function to execute on-hit | Used by Link/YL dair and possibly others. Works for any grounded or aerial normal, but it seems not to be evaluated for specials. | |
0x21C4 | Function to run on Shield Hit | ||
0x21C8 | Function to run on Reflect Hit | ||
0x21D4 | Function to run when player is hit | ||
0x21D8 | Function to run when player leaves hitlag | ||
0x21DC | Function to run when player is hit | ||
0x21E4 | |||
0x21EC | Function to run when player is thrown | Function is run after kirby Up-Throw hit's the ground. blrl for this exists at 80069bd8 inside ActionStateChange | |
0x21F4 | Function to run when white detection bubbles collide | ||
0x21FC | Collision bubble toggle (8-bit) | 01=no collision bubbles (default), 02=collision bubbles & no char textures, 03=overlayed bubbles | |
0x2200 | ??? | Int. Checked == 0 in 800e4f48 and set to 0 if != 0 | |
0x2204 | Flag to Init Reflect Hitbox | Checked for Mario Cape @ 800e1668, equals 1 when reflect hitbox should be active // Used during Fox/Falco's Shine at 800e65bc | |
0x220C | ??? Flags | Compared with 2 during Fox/Falco's shine at 800e65bc | |
0x2210 | ??? Flags | Byte. Mario's fireball spawn (800E0EE0) checks bit 24 == 1 | |
0x2218 | IASA Flags | Byte. Checked and modified with 80093bc0 and 80093cd0. 0x80 = IASA enabled. Set by 80071950 (Subaction 0x5C) | |
0x2219 | Various Flags | Byte. 0x01 = Character's hitlag is dependent on another character. Dependent hitlag doesn't end when the hitlag frames run out. The dependency is broken by the another character nulling this flag, or by having dependency break flag set. 0x02 = Hitlag active since frame beginning, doesn't seem to be used much. 0x04 = Hitlag flag. 0x10 = Clear hitboxes on action-state change. 0x20 = Disable KOs. 0x40 = Disable stage collisions. | |
0x221A | isFastFalling Flag | Byte. Bit 31 checked and modified with 80093bc0 and 80093cd0. 0x10 and 0x20 are hitlag related flags. 0x40 = linked hitlag dependency break. This flag allows a character under dependent hitlag to remove the dependency. | |
0x221B | Shield Enabled Bit | Byte. Checked and modified with 80093bc0 | |
0x221D | Inputs Allowed Flags | Seems to be related to whether inputs are allowed, it gets set to zero at code line 800868c0 which runs when READY HUD element is cleared. It is then set periodically over the course of a match | |
0x221E | Model Visibility Flag | rightmost bit = visibility bit | |
0x221F | Bit Flags | Byte. Get bit 24 with 80086B64. Get bit 28 with 800874BC. Get bit 29 with 8008730C. | |
0x2223 | Metal Texture Toggle (8-bit) | 01=on (like getting the metal box item), 00=off | |
0x2224 | Can walljump (8-bit) | 01 = can walljump, 00 = can't walljump | |
0x2227 | Bit flags | Byte. | |
0x222C | Misc Flags // Bowser Flame Degradation Count // Marth Side B Refresh // Peach Float // Luigi Cyclone Flag | Compared to 0 for transitioning to Action State 14 during Fox/Falco Shine @ 800e65bc, is also expected to be 0 prior in the function // Peach Float Flag reset @ (0x80069934) | |
0x2230 | Flags | Used as a check in DrMario's pill spawn function @ 0x800E0FD0 as an index for the current pill color | |
0x223C | Original Held Item Pointer | Pointer to an Item GObj | When Peach's Parasol is removed by 802BDB94, this is swapped into the Held Item. Presumably for when Up-Bing with an Item |
0x2324 | ??? | Appears to be a value or duration of sorts. See @0x800768a0 | |
0x2328 | ??? | Directly related to Hitbox.0x04. When creating a hitbox, if what that value gets set to is equal to the value in this memory address, it will trigger a function that copies unknown parts of the hitbox.See @0x800768a0 | |
0x2290 | Misc Special Flags? | Used for Kirby's vertical velocity boost on side B.Reset to 0 when | Also used to count other things relating to frames (but as integers): Shield Time, Grabbed Time, Time Left on Spawn Platform, Time left to lie on Ground |
0x2330 | Hammer Duration | Frames of Hammer remaining | Also used to count other things relating to frames (but as integers): Shield Time, Grabbed Time, Time Left on Spawn Platform, Time left to lie on Ground |
0x2340 | Misc Flags // Hitstun counter // Short Hop Identifier // PS Count | Float. Frames of hitstun left. Decremented by 1 every frame of game. // 0 = full hop, 1 = short hop | |
0x2342 | Misc Flags | Byte. Used for flags, like Cliff Grab. | |
0x2344 | Misc Flags // Shield Location from Body | Float. 0 = center of body, 1 = furthest amount away | |
0x2348 | Shield Angle | Float, degrees. 0 = in front of, 90 = up, 180 = behind, 270 = down (offset +10 degrees?) | |
0x234C | Misc Flags // Times Walljumped | ||
0x2354 | Landing Lag Divisor | Float. Used to calclulate landing lag. Dividend is usually 30, so 30 divided by this value gives you the number the animation speed will be DIVIDED by. Quotient smaller numbers = longer animation | |
0x2358 | Act out of Landing Flag / ?? | Read upon landing at 80096d68 and compared at 800d5db0. If 0, cannot act out of landing. If 1, can act out of landing after 4 frames. (Used to differentiate between a specialland and normal land?) // OLD DESCRIPTION: Float. Used for a comparison @ 80093c94 and 80093cd0 | |
0x2420 | Start of Per Character Article Floating Points | Doesn't appear to be 1:1 with Dantarion's offsets, but mostly the same. Not all changes work. Plus they reset whenever a new spawn of the character occurs. |
Character Attributes
Subaction Events
Subaction 0x2C: Hitbox | Length 0x14 | |||
0x0 | Data | "Bits 25-23: Hitbox ID | ||
Bits 22-20: Hitbox Group # (two hitboxes with different groups are able to hit a character) | ||||
Bit 19: Hit only your grabbed target (bugged, read note) | ||||
Bits 18-11: Target Bone; | ||||
Bit 10: Use Common Bone ID (loads a certain ID based on character) | ||||
Bit 9-0: Damage (max 1023%)" | "For bits 22-20, Hitbox Group #1 will only stop other Group 1 hitboxes from hitting the SAME character | |||
Bit 19 is bugged, and will only work if you put a hitbox directly before this one. The reason: the hitbox Event reads this bit from offset 0x15 which is outside the length of this Event." | Verified by reading the assembly, but it's more or less matching up with what is here: https://smashboards.com/threads/melee-hacks-and-you-new-hackers-start-here-in-the-op.247119/page-48#post-10769744 | |||
0x4 | Size | 2 bytes, converted to 256th precision float | ||
0x6 | Z Offset | 2 bytes, converted to 256th precision float | ||
0x8 | Y Offset | 2 bytes, converted to 256th precision float | ||
0xA | X Offset | 2 bytes, converted to 256th precision float | ||
0xC | Data | "Word. Bits 31-23: Angle | ||
Bits 22-14: Knockback Growth | ||||
Bits 13-5: Weight Dependent Set Knockback | ||||
Bit 4: Item hit interaction | ||||
Bit 3: Hitbox appears only when thrown | ||||
Bit 2: Ignore model scale | ||||
Bit 1: Hitbox interaction | ||||
Bit 0: Rebound flag" | "Bit 3 is on some of hitboxes called on the DamageFly sub actions | |||
Bit 4 data is transferred to any item/article on hurtbox collision. If the bit of a hitbox that breaks metal box is 1, the attacker gets Metal. If 0, they don't. " | ||||
0x10 | Data | "Word. Bits 31-23 Base Knockback | ||
Bits 22-18: Element | ||||
Bit 17-10: Shield damage. 1 byte, signed integer. | ||||
Bit 9-7: Hit SFX | ||||
Bit 6-2: Hit SFX Type | ||||
Bit 1: Hit grounded fighters | ||||
Bit 0: Hit aerial fighters" | Negative shield damage means the hitbox will do that much less shield damage. |
MnSlChr Offsets
Offset | Hex | Value | Effect | Comments |
0x50E4 | 3F11EB85 | 0.57 | CSS Puck Lighting Effect 1 | |
0x50E8 | 3F11EB85 | 0.57 | CSS Puck Lighting Effect 2 | |
0x50EC | 3F11EB85 | 0.57 | CSS Puck Lighting Effect 3 | |
0x5170 | 00000001 | 1 | CSS Screen layer focus? | (More knowledge about the organization of the CSS Screen and layers is required) |
0x5174 | 00000280 | 640 | CSS layer Horizontal Stretch | |
0x5178 | 000001E0 | 480 | CSS layer Vertical Stretch | |
0x5180 | 00000280 | 640 | CSS Layer height? | (if lowered, part of or all of screen is black) |
0x519C | 41C7FFFF | 24.999998 | CSS Screen Field of view | |
0x51A0 | 3F9BBBBF | 1.216667 | CSS Screen Aspect ratio / Horizontal compression |
Debug Menu Map
Effect | Comments | ID | Character | ID | Stage | |
0 | Captain Falcon | 0 | Dummy | |||
0x3FA258 | Language | 0 = JP, 1 = US | 1 | Donkey Kong | 1 | Test |
0x3FA25C | Publicity (Crowd Noise) | 0 = Off, 1 = On | 2 | Fox | 2 | Fountain of Dreams |
0x3FA260 | Stage | 3 | Mr. Game & Watch | 3 | Pokemon Stadium | |
0x3FA264 | FFA/Teams | 0 = FFA, 1 = Teams | 4 | Kirby | 4 | Princess Peach's Castle |
0x3FA268 | P1 Character | 5 | Bowser | 5 | Kongo Jungle | |
0x3FA26C | P2 Character | 6 | Link | 6 | Brinstar | |
0x3FA270 | P3 Character | 7 | Luigi | 7 | Corneria | |
0x3FA274 | P4 Character | 8 | Mario | 8 | Yoshi's Story | |
0x3FA278 | "All Character" | 9 | Marth | 9 | Onett | |
0x3FA27C | P1 Kind | 0 = Human, 1 = CPU, 2 = Demo, 3 = None | A | Mewtwo | A | Mute City |
0x3FA280 | P2 Kind | B | Ness | B | Rainbow Cruise | |
0x3FA284 | P3 Kind | C | Peach | C | Jungle Japes | |
0x3FA288 | P4 Kind | D | Pikachu | D | Great Bay | |
0x3FA28C | "All Kind" | E | Ice Climbers | E | Hyrule Temple | |
0x3FA290 | P1 Color | F | Samus | F | Brinstar Depths | |
0x3FA294 | P2 Color | 10 | Jigglypuff | 10 | Yoshi's Island | |
0x3FA298 | P3 Color | 11 | Yoshi | 11 | Green Greens | |
0x3FA29C | P4 Color | 12 | Zelda | 12 | Fourside | |
0x3FA2A0 | P1 Subcolor | 13 | Sheik | 13 | Mushroom Kingdom | |
0x3FA2A4 | P2 Subcolor | 14 | Falco | 14 | Mushroom Kingdom II | |
0x3FA2A8 | P3 Subcolor | 15 | Young Link | 15 | Akaneia (Freeze) | |
0x3FA2AC | P4 Subcolor | 16 | Dr. Mario | 16 | Venom | |
0x3FA2B0 | P1 Team | 0 = Red, 1 = Green, 2 = Blue | 17 | Roy | 17 | Poke Floats |
0x3FA2B4 | P2 Team | 18 | Pichu | 18 | Big Blue | |
0x3FA2B8 | P3 Team | 19 | Ganondorf | 19 | Icicle Mountain | |
0x3FA2BC | P4 Team | 1A | Master Hand | 1A | Icetop (Freeze) | |
1B | Male Wireframe | 1B | Flat Zone | |||
0x3FA320 | Game Mode | 0 = Time, 1 = Stock | 1C | Female Wireframe | 1C | Dreamland 64 |
0x3FA324 | Time (minutes) | 1D | Giga Bowser | 1D | Yoshi's Island 64 | |
0x3FA328 | Time (seconds) | 1E | Crazy Hand | 1E | Kongo Jungle 64 | |
0x3FA32C | Stock Count | 1F | Sandbag | 1F | Battlefield | |
Item Frequency | 0 = None, 1 = Very Low, 2 = Low, 3 = Medium, 4 = High, 5 = Very High | 20 | Popo | 20 | Final Destination | |
21 | None | |||||
0xBDD300 | Dairantou Selected Index | Selected index in the "Dairantou" debug menu | (use Kind for none) |
Free Memory
Region Start | Region End | Amount | Description |
0x80001800 | 0x80002FFF | 17FF | Free memory in all GCN/Wii games (NOTE: Gecko codehandler gets injected at 0x80001800, approx. 0xba8 in size) |
0x8022887c | 0x8022892c | B0 | Unused code function (nop 801a4f84 and 801a5070) |
0x8032c848 | 0x8032c880 | 38 | Unused code function (nop 801a4f84 and 801a5070) |
0x8032dcb0 | 0x8032ddbc | 10C | Unused code function (nop 801a4f84 and 801a5070) |
0x8032ed8c | 0x8032ee90 | 104 | Unused code function (nop 801a4f84 and 801a5070) |
0x80393a5c | 0x80393c10 | 1B4 | Unused code function (nop 801a4f84 and 801a5070) |
0x803fa3e8 | 0x803fc2ec | 1F04 | Debug menu tables/strings (only use this if you don't mind overwriting the debug menu!) |
0x803fc420 | 0x803fdc1c | 17FC | Debug menu tables/strings (only use this if you don't mind overwriting the debug menu!) |
" | |||
" | " | ||
" | |||
0x803001DC | 0x80301E44 | 1C68 | Probably Debug Menu functions (More debug mode code is in places higher than this) |
0x804d36a0 | 0x804d3700 | 60 | Color table for develop mode graphics, only use if it's ok to break this |