Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef SSBM_H_
- #define SSBM_H_
- // SSBM 1.2 Datasheet
- // ------------------
- // https://docs.google.com/spreadsheets/d/1JX2w-r2fuvWuNgGb6D3Cs4wHQKLFegZe2jhbBuIhCG8/edit#gid=20
- // ^ where all the info from this header came from ^
- // SmashBoards Post by Savestate
- // -----------------------------
- // http://smashboards.com/threads/writing-codes-for-melee-in-c.425351/
- /* ID LISTS */
- //External Character IDs
- #define SSBM_ID_CHAR_EXT_CFALCON 0x00
- #define SSBM_ID_CHAR_EXT_DK 0x01
- #define SSBM_ID_CHAR_EXT_FOX 0x02
- #define SSBM_ID_CHAR_EXT_GW 0x03
- #define SSBM_ID_CHAR_EXT_KIRBY 0x04
- #define SSBM_ID_CHAR_EXT_BOWSER 0x05
- #define SSBM_ID_CHAR_EXT_LINK 0x06
- #define SSBM_ID_CHAR_EXT_LUIGI 0x07
- #define SSBM_ID_CHAR_EXT_MARIO 0x08
- #define SSBM_ID_CHAR_EXT_MARTH 0x09
- #define SSBM_ID_CHAR_EXT_MEWTWO 0x0A
- #define SSBM_ID_CHAR_EXT_NESS 0x0B
- #define SSBM_ID_CHAR_EXT_PEACH 0x0C
- #define SSBM_ID_CHAR_EXT_PIKACHU 0x0D
- #define SSBM_ID_CHAR_EXT_IC 0x0E
- #define SSBM_ID_CHAR_EXT_JIGGLYPUFF 0x0F
- #define SSBM_ID_CHAR_EXT_SAMUS 0x10
- #define SSBM_ID_CHAR_EXT_YOSHI 0x11
- #define SSBM_ID_CHAR_EXT_ZELDA 0x12
- #define SSBM_ID_CHAR_EXT_SHEIK 0x13
- #define SSBM_ID_CHAR_EXT_FALCO 0x14
- #define SSBM_ID_CHAR_EXT_YOUNGLINK 0x15
- #define SSBM_ID_CHAR_EXT_DRMARIO 0x16
- #define SSBM_ID_CHAR_EXT_ROY 0x17
- #define SSBM_ID_CHAR_EXT_PICHU 0x18
- #define SSBM_ID_CHAR_EXT_GANONDORF 0x19
- #define SSBM_ID_CHAR_EXT_MASTERHAND 0x1A
- #define SSBM_ID_CHAR_EXT_WIREFRAMEM 0x1B
- #define SSBM_ID_CHAR_EXT_WIREFRAMEF 0x1C
- #define SSBM_ID_CHAR_EXT_GIGABOWSER 0x1D
- #define SSBM_ID_CHAR_EXT_CRAZYHAND 0x1E
- #define SSBM_ID_CHAR_EXT_SANDBAG 0x1F
- #define SSBM_ID_CHAR_EXT_POPO 0x20
- #define SSBM_ID_CHAR_EXT_USERSELECT 0x21
- //Internal Character IDs
- #define SSBM_ID_CHAR_INT_MARIO 0x00
- #define SSBM_ID_CHAR_INT_FOX 0x01
- #define SSBM_ID_CHAR_INT_CFALCON 0x02
- #define SSBM_ID_CHAR_INT_DK 0x03
- #define SSBM_ID_CHAR_INT_KIRBY 0x04
- #define SSBM_ID_CHAR_INT_BOWSER 0x05
- #define SSBM_ID_CHAR_INT_LINK 0x06
- #define SSBM_ID_CHAR_INT_SHEIK 0x07
- #define SSBM_ID_CHAR_INT_NESS 0x08
- #define SSBM_ID_CHAR_INT_PEACH 0x09
- #define SSBM_ID_CHAR_INT_POPO 0x0A
- #define SSBM_ID_CHAR_INT_NANA 0x0B
- #define SSBM_ID_CHAR_INT_PIKACHU 0x0C
- #define SSBM_ID_CHAR_INT_SAMUS 0x0D
- #define SSBM_ID_CHAR_INT_YOSHI 0x0E
- #define SSBM_ID_CHAR_INT_JIGGLYPUFF 0x0F
- #define SSBM_ID_CHAR_INT_MEWTWO 0x10
- #define SSBM_ID_CHAR_INT_LUIGI 0x11
- #define SSBM_ID_CHAR_INT_MARTH 0x12
- #define SSBM_ID_CHAR_INT_ZELDA 0x13
- #define SSBM_ID_CHAR_INT_YOUNGLINK 0x14
- #define SSBM_ID_CHAR_INT_DRMARIO 0x15
- #define SSBM_ID_CHAR_INT_FALCO 0x16
- #define SSBM_ID_CHAR_INT_PICHU 0x17
- #define SSBM_ID_CHAR_INT_GW 0x18
- #define SSBM_ID_CHAR_INT_GANONDORF 0x19
- #define SSBM_ID_CHAR_INT_ROY 0x1A
- #define SSBM_ID_CHAR_INT_MASTERHAND 0x1B
- #define SSBM_ID_CHAR_INT_CRAZYHAND 0x1C
- #define SSBM_ID_CHAR_INT_WIREFRAMEM 0x1D
- #define SSBM_ID_CHAR_INT_WIREFRAMEF 0x1E
- #define SSBM_ID_CHAR_INT_GIGABOWSER 0x1F
- #define SSBM_ID_CHAR_INT_SANDBAG 0x20
- // DEBUG STAGES
- #define SSBM_ID_STAGE_DUMMY 0x000
- #define SSBM_ID_STAGE_TEST 0x001
- // STANDARD STAGES
- #define SSBM_ID_STAGE_FOD 0x002
- #define SSBM_ID_STAGE_PSTADIUM 0x003
- #define SSBM_ID_STAGE_CASTLE 0x004
- #define SSBM_ID_STAGE_KONGO 0x005
- #define SSBM_ID_STAGE_ZEBES 0x006
- #define SSBM_ID_STAGE_CORNERIA 0x007
- #define SSBM_ID_STAGE_YSTORY 0x008
- #define SSBM_ID_STAGE_ONETT 0x009
- #define SSBM_ID_STAGE_MUTECITY 0x00A
- #define SSBM_ID_STAGE_RCRUISE 0x00B
- #define SSBM_ID_STAGE_JJAPES 0x00C
- #define SSBM_ID_STAGE_GREATBAY 0x00D
- #define SSBM_ID_STAGE_HTEMPLE 0x00E
- #define SSBM_ID_STAGE_KRAID 0x00F
- #define SSBM_ID_STAGE_YISLAND 0x010
- #define SSBM_ID_STAGE_GREENS 0x011
- #define SSBM_ID_STAGE_FOURSIDE 0x012
- #define SSBM_ID_STAGE_MKINGDOM1 0x013
- #define SSBM_ID_STAGE_MKINGDOM2 0x014
- #define SSBM_ID_STAGE_AKANEIA 0x015 // deleted stage
- #define SSBM_ID_STAGE_VENOM 0x016
- #define SSBM_ID_STAGE_POKEFLOATS 0x017
- #define SSBM_ID_STAGE_BIGBLUE 0x018
- #define SSBM_ID_STAGE_ICEMTN 0x019
- #define SSBM_ID_STAGE_ICETOP 0x01A
- #define SSBM_ID_STAGE_FLATZONE 0x01B
- #define SSBM_ID_STAGE_DREAMLAND 0x01C
- #define SSBM_ID_STAGE_YISLANDN64 0x01D
- #define SSBM_ID_STAGE_KONGON64 0x01E
- #define SSBM_ID_STAGE_BATTLEFIELD 0x01F
- #define SSBM_ID_STAGE_FINALDEST 0x020
- // TARGET TEST STAGES
- #define SSBM_ID_STAGE_TMARIO 0x021
- #define SSBM_ID_STAGE_TCAPTAIN 0x022
- #define SSBM_ID_STAGE_TCLINK 0x023
- #define SSBM_ID_STAGE_TDONKEY 0x024
- #define SSBM_ID_STAGE_TDRMARIO 0x025
- #define SSBM_ID_STAGE_TFALCO 0x026
- #define SSBM_ID_STAGE_TFOX 0x027
- #define SSBM_ID_STAGE_TICECLIM 0x028
- #define SSBM_ID_STAGE_TKIRBY 0x029
- #define SSBM_ID_STAGE_TKOOPA 0x02A
- #define SSBM_ID_STAGE_TLINK 0x02B
- #define SSBM_ID_STAGE_TLUIGI 0x02C
- #define SSBM_ID_STAGE_TMARS 0x02D
- #define SSBM_ID_STAGE_TMEWTWO 0x02E
- #define SSBM_ID_STAGE_TNESS 0x02F
- #define SSBM_ID_STAGE_TPEACH 0x030
- #define SSBM_ID_STAGE_TPICHU 0x031
- #define SSBM_ID_STAGE_TPIKACHU 0x032
- #define SSBM_ID_STAGE_TPURIN 0x033
- #define SSBM_ID_STAGE_TSAMUS 0x034
- #define SSBM_ID_STAGE_TSEAK 0x035
- #define SSBM_ID_STAGE_TYOSHI 0x036
- #define SSBM_ID_STAGE_TZELDA 0x037
- #define SSBM_ID_STAGE_TGAMEWAT 0x038
- #define SSBM_ID_STAGE_TEMBLEM 0x039
- #define SSBM_ID_STAGE_TGANON 0x03A
- // EVENT MATCH STAGES
- #define SSBM_ID_STAGE_GOOMBA 0x0D7
- #define SSBM_ID_STAGE_ENTEI 0x0E3
- #define SSBM_ID_STAGE_MAJORA 0x0F8
- // CPU AI TYPES
- #define SSBM_ID_AI_STAY 0x00
- #define SSBM_ID_AI_WALK 0x01
- #define SSBM_ID_AI_ESCAPE 0x02
- #define SSBM_ID_AI_JUMP 0x03
- #define SSBM_ID_AI_NORMAL 0x04
- #define SSBM_ID_AI_MANUAL 0x05
- #define SSBM_ID_AI_NANA 0x06
- #define SSBM_ID_AI_DEFENSIVE 0x07
- #define SSBM_ID_AI_STRUGGLE 0x08
- #define SSBM_ID_AI_FREAK 0x09
- #define SSBM_ID_AI_COOPERATE 0x0A
- #define SSBM_ID_AI_SPLWLINK 0x0B // bombfest w/ link
- #define SSBM_ID_AI_SPLWSAMUS 0x0C // bombfest w/ samus
- #define SSBM_ID_AI_ONLYITEM 0x0D
- #define SSBM_ID_AI_EVZELDA 0x0E // hide-n-sheik
- #define SSBM_ID_AI_NOACT 0x0F
- #define SSBM_ID_AI_AIR 0x10
- #define SSBM_ID_AI_ITEM 0x11
- #define SSBM_ID_AI_GUARDEDGE 0x12
- #define SSBM_ID_AI_ALTNORMAL 0x13 // event
- #define SSBM_ID_AI_COOPERATIVE 0x14
- #define SSBM_ID_AI_COOP2 0x15
- #define SSBM_ID_AI_NORMALMAYBE 0x16
- #define SSBM_ID_AI_MULTIMANMELEE 0x17
- #define SSBM_ID_AI_ESCAPEANDATTACK 0x18
- #define SSBM_ID_AI_WALKANDATTACK 0x19
- #define SSBM_ID_AI_STAYANDATTACK 0x1A
- // ITEMS
- #define SSBM_ID_ITEM_CAPSULE 0x00
- #define SSBM_ID_ITEM_BOX 0x01
- #define SSBM_ID_ITEM_BARREL 0x02
- #define SSBM_ID_ITEM_EGG 0x03
- #define SSBM_ID_ITEM_PARTYBALL 0x04
- #define SSBM_ID_ITEM_BARRELCANNON 0x05
- #define SSBM_ID_ITEM_BOBOMB 0x06
- #define SSBM_ID_ITEM_MRSATURN 0x07
- #define SSBM_ID_ITEM_HEARTCONTAINER 0x08
- #define SSBM_ID_ITEM_MAXIMTOMATO 0x09
- #define SSBM_ID_ITEM_STARMAN 0x0A
- #define SSBM_ID_ITEM_HOMERUNBAT 0x0B
- #define SSBM_ID_ITEM_BEAMSWORD 0x0C
- #define SSBM_ID_ITEM_PARASOL 0x0D
- #define SSBM_ID_ITEM_GREENSHELL 0x0E
- #define SSBM_ID_ITEM_REDSHELL 0x0F
- #define SSBM_ID_ITEM_RAYGUN 0x10
- #define SSBM_ID_ITEM_FREEZIE 0x11
- #define SSBM_ID_ITEM_FOOD 0x12
- #define SSBM_ID_ITEM_PROXIMITYMINE 0x13
- #define SSBM_ID_ITEM_FLIPPER 0x14
- #define SSBM_ID_ITEM_SUPERSCOPE 0x15
- #define SSBM_ID_ITEM_STARROD 0x16
- #define SSBM_ID_ITEM_LIPSTICK 0x17
- #define SSBM_ID_ITEM_FAN 0x18
- #define SSBM_ID_ITEM_FIREFLOWER 0x19
- #define SSBM_ID_ITEM_SUPERMUSHROOM) 0x1A
- #define SSBM_ID_ITEM_POISONMUSHROOM 0x1B
- #define SSBM_ID_ITEM_HAMMER 0x1C
- #define SSBM_ID_ITEM_WARPSTAR 0x1D
- #define SSBM_ID_ITEM_SCREWATTACK 0x1E
- #define SSBM_ID_ITEM_BUNNYHOOD 0x1F
- #define SSBM_ID_ITEM_METALBOX 0x20
- #define SSBM_ID_ITEM_CLOAKINGDEVICE 0x21
- #define SSBM_ID_ITEM_POKEBALL 0x22
- #define SSBM_ID_ITEM_GOOMBA 0x2B
- #define SSBM_ID_ITEM_REDEAD 0x2C
- #define SSBM_ID_ITEM_OCTAROK 0x2D
- #define SSBM_ID_ITEM_OTTOSEA 0x2E
- #define SSBM_ID_ITEM_RANDPOKEMON 0xA0
- #define SSBM_ID_ITEM_GOLDEEN 0xA1
- #define SSBM_ID_ITEM_CHICORITA 0xA2
- #define SSBM_ID_ITEM_SNORLAX 0xA3
- #define SSBM_ID_ITEM_BLASTOISE 0xA4
- #define SSBM_ID_ITEM_WEEZING 0xA5
- #define SSBM_ID_ITEM_CHARIZARD 0xA6
- #define SSBM_ID_ITEM_MOLTRES 0xA7
- #define SSBM_ID_ITEM_ZAPDOS 0xA8
- #define SSBM_ID_ITEM_ARTICUNO 0xA9
- #define SSBM_ID_ITEM_WOBBUFFET 0xAA
- #define SSBM_ID_ITEM_SCIZOR 0xAB
- #define SSBM_ID_ITEM_UNOWN 0xAC
- #define SSBM_ID_ITEM_ENTEI 0xAD
- #define SSBM_ID_ITEM_RAIKOU 0xAE
- #define SSBM_ID_ITEM_SUICUNE 0xAF
- #define SSBM_ID_ITEM_BELLOSSOM 0xB0
- #define SSBM_ID_ITEM_ELECTRODE 0xB1
- #define SSBM_ID_ITEM_LUGIA 0xB2
- #define SSBM_ID_ITEM_HOOH 0xB3
- #define SSBM_ID_ITEM_DITTO 0xB4
- #define SSBM_ID_ITEM_CLEFAIRY 0xB5
- #define SSBM_ID_ITEM_TOGEPI 0xB6
- #define SSBM_ID_ITEM_MEW 0xB7
- #define SSBM_ID_ITEM_CELEBI 0xB8
- #define SSBM_ID_ITEM_STARYU 0xB9
- #define SSBM_ID_ITEM_CHANSEY 0xBA
- #define SSBM_ID_ITEM_PORYGON2 0xBB
- #define SSBM_ID_ITEM_CYNDAQUIL 0xBC
- #define SSBM_ID_ITEM_MARILL 0xBD
- #define SSBM_ID_ITEM_VENUSAUR (0xBE
- // ELEMENTS
- #define SSBM_ID_ELEMENT_NORMAL 0x00
- #define SSBM_ID_ELEMENT_FIRE 0x01
- #define SSBM_ID_ELEMENT_ELECTRIC 0x02
- #define SSBM_ID_ELEMENT_SLASH 0x03
- #define SSBM_ID_ELEMENT_COIN 0x04
- #define SSBM_ID_ELEMENT_ICE 0x05
- #define SSBM_ID_ELEMENT_SLEEPSHORT 0x06
- #define SSBM_ID_ELEMENT_SLEEPLONG 0x0
- #define SSBM_ID_ELEMENT_GROUNDED 0x08
- #define SSBM_ID_ELEMENT_GROUNDEDALT 0x09
- #define SSBM_ID_ELEMENT_CAPE 0x0A
- #define SSBM_ID_ELEMENT_EMPTY 0x0B
- #define SSBM_ID_ELEMENT_DISABLE 0x0C
- #define SSBM_ID_ELEMENT_DARKNESS 0x0D
- #define SSBM_ID_ELEMENT_SCREWATTACK 0x0E
- #define SSBM_ID_ELEMENT_LIPSTICK 0x0F
- // SFX
- #define SSBM_ID_SFX_TROPHYGET 0x00AA
- #define SSBM_ID_SFX_AWARD 0x00AB
- #define SSBM_ID_SFX_MENUBACK 0x00AC
- #define SSBM_ID_SFX_MENUFORWARD 0x00AD
- #define SSBM_ID_SFX_MENUUPDOWN 0x00AE
- #define SSBM_ID_SFX_MENUDENIED 0x00AF
- #define SSBM_ID_SFX_DAMAGESOUND 0x00B0
- #define SSBM_ID_SFX_PAUSESOUND 0x00B1
- #define SSBM_ID_SFX_INTERCOMSTARFOX 0x00B2
- #define SSBM_ID_SFX_RESULTSLEFTRIGHT 0x00B3
- #define SSBM_ID_SFX_RESULTSCOING 0x00B4
- #define SSBM_ID_SFX_NARRATOR_GAMETITLESHOUT 0x4E20
- #define SSBM_ID_SFX_NARRATOR_GAMEMODES 0x7530
- #define SSBM_ID_SFX_NARRATOR_SINGLEPLAYERPHRASES 0x9C40
- #define SSBM_ID_SFX_NARRATOR_VERSUSPHRASES 0xC350
- #define SSBM_ID_SFX_NARRATOR_CHARACTERCALLS 0x7C830
- // MUSIC
- #define SSBM_ID_MUSIC_CASTLE 0x04
- #define SSBM_ID_MUSIC_RCRUISE 0x42
- #define SSBM_ID_MUSIC_KONGO 0x21
- #define SSBM_ID_MUSIC_JJAPES 0x32
- #define SSBM_ID_MUSIC_GREATBAY 0x22
- #define SSBM_ID_MUSIC_TEMPLE 0x4b
- #define SSBM_ID_MUSIC_BRINSTAR 0x61
- #define SSBM_ID_MUSIC_BRINSTARDEPTHS 0x33
- #define SSBM_ID_MUSIC_YSTORY 0x60
- #define SSBM_ID_MUSIC_YISLAND 0x5f
- #define SSBM_ID_MUSIC_FOD 0x31
- #define SSBM_ID_MUSIC_GGREENS 0x23
- #define SSBM_ID_MUSIC_CORNERIA 0x06
- #define SSBM_ID_MUSIC_VENOM 0x54
- #define SSBM_ID_MUSIC_PSTADIUM 0x40
- #define SSBM_ID_MUSIC_POKEFLOATS 0x41
- #define SSBM_ID_MUSIC_MUTECITY 0x38
- #define SSBM_ID_MUSIC_BIGBLUE 0x03
- #define SSBM_ID_MUSIC_MOTHER 0x3c
- #define SSBM_ID_MUSIC_EARTHBOUND 0x1f
- #define SSBM_ID_MUSIC_MKINGDOM 0x29
- #define SSBM_ID_MUSIC_MKINGDOMFINALE 0x2a
- #define SSBM_ID_MUSIC_MKINGDOM2 0x2b
- #define SSBM_ID_MUSIC_MKINGDOM2FINALE 0x2c
- #define SSBM_ID_MUSIC_ICEMTN 0x28
- #define SSBM_ID_MUSIC_FLATZONE 0x1e
- #define SSBM_ID_MUSIC_KONGON64 0x39
- #define SSBM_ID_MUSIC_YISLANDN64 0x3b
- #define SSBM_ID_MUSIC_DREAMLAND 0x3a
- #define SSBM_ID_MUSIC_SMB3 0x4d
- #define SSBM_ID_MUSIC_SARIASTHEME 0x4a
- #define SSBM_ID_MUSIC_POKEMONBATTLE 0x3f
- #define SSBM_ID_MUSIC_FIREEMBLEM 0x01
- #define SSBM_ID_MUSIC_MACHRIDER 0x37
- #define SSBM_ID_MUSIC_MOTHER2 0x3d
- #define SSBM_ID_MUSIC_DRMARIO 0x07
- #define SSBM_ID_MUSIC_BALLOONFIGHT 0x02
- #define SSBM_ID_MUSIC_METALBATTLE 0x50
- #define SSBM_ID_MUSIC_BATTLEFIELD 0x51
- #define SSBM_ID_MUSIC_FINALDESTINATION 0x4e
- #define SSBM_ID_MUSIC_TARGET 0x53
- #define SSBM_ID_MUSIC_MULTIMAN1 0x26
- #define SSBM_ID_MUSIC_MULTIMAN2 0x27
- /* Global Addresses */
- #define SSBM_ADDR_CAMERAFOV 0x804DE338
- #define SSBM_ADDR_STOCKCOUNT 0x8045310e
- #define SSBM_ADDR_PERCENTDISPLAYP1 0x804530E0
- #define SSBM_ADDR_PERCENTDISPLAYP2 0x80453F70
- #define SSBM_ADDR_PERCENTDISPLAYP3 0x80454E00
- #define SSBM_ADDR_PERCENTDISPLAYP4 0x80455C90
- #define SSBM_ADDR_GAMELOOPFLAGS 0x80479d7c
- #define SSBM_ADDR_ITEMFREQUENCY 0x8045C370
- #define SSBM_ADDR_CHARACTERSELECTP1 0x803F0E08
- #define SSBM_ADDR_CHARACTERSELECTP2 0x803F0E2C
- #define SSBM_ADDR_CHARACTERSELECTP3 0x803F0E50
- #define SSBM_ADDR_CHARACTERSELECTP4 0x803F0E74
- #define SSBM_ADDR_STAGESELECTIONSCREENSELECTION 0x804D6CAD
- #define SSBM_ADDR_GLOBALPOWERONFRAMES 0x804d7420
- #define SSBM_ADDR_DATAPOINTERP1 0x80453130
- #define SSBM_ADDR_DATAPOINTERP2 0x80453FC0
- #define SSBM_ADDR_DATAPOINTERP3 0x80454E50
- #define SSBM_ADDR_DATAPOINTERP4 0x80455CE0
- #define SSBM_ADDR_STALETABLEP1 0x8045313C
- #define SSBM_ADDR_STALETABLEP2 0x80453FCC
- #define SSBM_ADDR_STALETABLEP3 0x80454E5C
- #define SSBM_ADDR_STALETABLEP4 0x80455CEC
- struct SSBM_stale_move {
- unsigned int move_id:16;
- unsigned int action_state:16;
- } SSBM_stale_move;
- struct SSBM_stale_table {
- unsigned int next_slot:32;
- SSBM_stale_move stale_moves[10];
- } SSBM_stale_table;
- #define SSBM_ADDR_GAMETIME 0x8046B6C8
- #define SSBM_ADDR_GAMETIMECOUNTER 0x8046B6CC
- #define SSBM_ADDR_TEAMMODEFLAG 0x804807C8
- #define SSBM_ADDR_SUDDENDEATH 0x8046DB6E
- #define SSBM_ADDR_NODAMAGEORKNOCKBACK 0x8046DB6D
- #define SSBM_ADDR_HUD 0x804D6D58
- #define SSBM_ADDR_GLOBALWIDTH 0x80BDC5F4
- #define SSBM_ADDR_GLOBALSPEED 0x80432A2C
- #define SSBM_ADDR_FRAMEADVANCE 0x80432A28
- #define SSBM_ADDR_GAMEPAUSE 0x80479D68
- #define SSBM_ADDR_DEFAULTMULTIPLAYERSETTINGS 0x803D4A48
- #define SSBM_ADDR_CURRENTMULTIPLAYERSETTINGS 0x8045BF10
- // Bit Flags: xxxx xxxx UDLR UDLR xxxS YXBA xLRZ UDRL
- // Nibbles: [0] ? [1] ? [2] C-Stick [3] Control Stick
- // [4] Start Button [5] Right-Side Buttons [6] Top-of-Controller Buttons [7] D-Pad
- #define SSBM_ADDR_CONTROLLERDIGITALP1 0x804C1FAC
- #define SSBM_ADDR_CONTROLLERDIGITALPREVP1 0x804C1FB0
- // Unsigned Bytes 0x00-0x8C | Bytes: [0] Left Shoulder [1] Right Shoulder
- #define SSBM_ADDR_CONTROLLERSHOULDERP1 0x804C1FC8
- // Signed Bytes -79 - 79 (0xB1-0x4F) | Bytes: [0] Control Stick X [1] Control Stick Y [2] C-Stick X [3] C-Stick Y
- #define SSBM_ADDR_CONTROLLERANALOGBYTESP1 0x804C1FC4
- // 32-Bit Floats (-1 - 1) | Words: [0] Control Stick X [1] Control Stick Y [2] C-Stick X [3] C-Stick Y
- #define SSBM_ADDR_CONTROLLERANALOGFLOATSP1 0x804C1FCC
- #define SSBM_ADDR_CONTROLLERDIGITALP2 0x804C1FF0
- #define SSBM_ADDR_CONTROLLERDIGITALPREVP2 0x804C1FF4
- #define SSBM_ADDR_CONTROLLERSHOULDERP2 0x804C200C
- #define SSBM_ADDR_CONTROLLERANALOGBYTESP2 0x804C2008
- #define SSBM_ADDR_CONTROLLERANALOGFLOATSP2 0x804C2010
- #define SSBM_ADDR_CONTROLLERDIGITALP3 0x804C2034
- #define SSBM_ADDR_CONTROLLERDIGITALPREVP3 0x804C2038
- #define SSBM_ADDR_CONTROLLERSHOULDERP3 0x804C2050
- #define SSBM_ADDR_CONTROLLERANALOGBYTESP3 0x804C204C
- #define SSBM_ADDR_CONTROLLERANALOGFLOATSP3 0x804C2054
- #define SSBM_ADDR_CONTROLLERDIGITALP4 0x804C2078
- #define SSBM_ADDR_CONTROLLERDIGITALPREVP4 0x804C207C
- #define SSBM_ADDR_CONTROLLERSHOULDERP4 0x804C2094
- #define SSBM_ADDR_CONTROLLERANALOGBYTESP4 0x804C2090
- #define SSBM_ADDR_CONTROLLERANALOGFLOATSP4 0x804C1FCC
- #define SSBM_ADDR_DEBUGLEVEL 0x804D4A08
- #endif // SSBM_H_
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement