Event Match Files
Event Match Files are stored in Common2.pac as MiscData. It's file is also known as sq_event_data.dat (found in the game folder). This is the format that the event matches follow and what the known values do.
The Header Size is 80 bytes. Here are what some of them do.
|0x00||uint32_t||Event extension|| Determines the number of character entries that belong to the event.
|0x08||uint8_t||Match Type|| Type of the match
|0x09||__padding||Padding||This data is likely part of a 4-byte alignment for the structure.|
|0x0C||uint32_t||Countdown||The number of seconds on the countdown timer. If this value is 0, the timer will count up instead of down.|
|0x10||uint32_t||Unknown flags|| Not fully known, the only used values are as follows:
|0x18||uint8_t||Unknown Flags|| The only known values are:
|0x19||bool||Is Team Game||If this value is non-zero(true), then the match is a team game, otherwise it is a free-for-all.|
|0x1A||uint16_t||Item Level|| This controls the drop rate of items (item switch).
|0x1E||uint16_t||Stage ID||The stage type/id that players are playing on. If the type is TargetTest then the difficulty of the event affects the target stage appropriately. The camera for the HomeRunContest does not follow any of the first three players.|
|0x20||uint32_t||Unknown flags|| Known values:
|0x28||uint32_t||Item Switch 1 (?)||Guessed.|
|0x2C||uint32_t||Item Switch 2 (?)||Guessed.|
|0x30||uint32_t||Pokemon Switch (?)||Guessed.|
|0x34||uint32_t||Assist Trophy Switch (?)||Guessed.|
|0x38||float (4)||Game Speed||1.00 is normal speed. The speed does not go slower than a certain amount, even if specified. Higher values indicate a faster pace.|
|0x3C||float (4)||Camera Shake||Indicates the intensity of the screen shaking when a player is hit or hits something. 0.00 indicates no shake, 1.00 is normal.|
|0x40||uint32_t||Unknown flag|| The only value that has been observed is
|0x44||uint32_t||Music Id||The identifier for the music track to be played on the stage.|
|0x48||int16_t||Unknown||Seen as 10, 20, 120, 150, 180, or -1 (most common). Related to 0x4A.|
|0x4A||int16_t||Unknown||Seen as 15, 60, 90, 150, or -1 (most common). Value is seen as <= the value at 0x48.|
After the header is the Player data, which is 56 bytes per player. There is only one slot per player.
The number of player entries are determined by the Event Extension value (see above).
|0x00||uint8_t||Character Type||The player's character type/id. Alloys crash the game, some bosses are replaced with Mario (but retain the boss portrait).|
|0x01||uint8_t||Character Status|| There are only 3 known character statuses.
|0x02||__padding||Padding||This data is likely part of a 4-byte alignment for the structure.|
|0x04||float (4)||Character Scale||Determines the size of the character. 1.00 is normal.|
|0x08||uint8_t||Team||Sets the character's team. Note that the team flag must be set in the header.|
|0x0A||int8_t||Starting Position||Sets the character's start position. The position is stage-dependent. -1 indicates no starting position.|
Following this structure are 3 entries of the Player Stats structure, one for Easy, Medium, and Hard.
|0x00||uint16_t||Offense Ratio||The character's offense ratio.|
|0x02||uint16_t||Defense Ratio||The character's defense ratio.|
|0x04||uint8_t||AI Type|| The character's AI controller type.
|0x05||uint8_t||Costume (?)||The character's costume.|
|0x06||uint8_t||Stock||The amount of lives/stock the character has.|
|0x08||uint16_t||Hit Points||The amount of HP the character starts with. A value of non-zero on any character makes the event an HP battle.|
|0x0A||uint16_t||Starting Damage||The amount of % damage that the character starts with.|
The file names that the event matches are labled do not match the numbers in game. Here's which event match is which.
1-Player Event Matches
- eventStage1Tbl = Two Trouble Kings
- eventStage2Tbl = Pink Ball Repulsion
- eventStage4Tbl = Cleaning House in Skyworld
- eventStage5Tbl = Become the Champion!
- eventStage7Tbl = Dragoon Strike
- eventStage9tbl = Super Bowser Bros.
- eventStage10tbl = All-Star Battle Regulars
- eventStage12Tbl = Diddy Kong Panic
- eventStage13Tbl = Yoshi's Rainbow
- eventStage14Tbl = Go! Triple Finish!
- eventStage15Tbl = The Monster beneath the Earth
- eventStage17Tbl = Sproutrage of the Flower Pikmin
- eventStage19Tbl = Sleeping in the Eggs
- eventStage20Tbl = All-Star Battle x 1
- eventStage21Tbl = The Hammer of the King
- eventStage22Tbl = Super Waterfall Climb
- eventStage23Tbl = Landmaster Ignition
- eventStage25Tbl = Dark Link Duel
- eventStage26Tbl = Power Suit ON!
- eventStage27Tbl = Wario Bros.
- eventStage28Tbl = Visit to Onett
- eventStage29Tbl = Molten Norfair
- eventStage32Tbl = Come On, Blue Falcon
- eventStage33Tbl = The Aura Is With Me
- eventStage34Tbl = Monkeys Unite
- eventStage35Tbl = The Slow and Easy Life
- eventStage36Tbl = Three-Beast Carnage
- eventStage37Tbl = Flower Blooms in the Echoes
- eventStage38Tbl = All-Star Semifinal Regulars
- eventStage39Tbl = The Ultimate Bodyguard
- eventStage40Tbl = The Pirate Airship
- eventStage42Tbl = All-Star Battle Melee
- eventStage43Tbl = Bird in Darkest Night
- eventStage44Tbl = Advent of the Evil King
- eventStage45Tbl = Sonic Boom
- eventStage46Tbl = High-Tech Special Forces
- eventStage47Tbl = The Visitor to Flat Zone
- eventStage48Tbl = The Wolf Hunts the Fox
- eventStage49Tbl = All-Star Battle x 2
- eventStage50Tbl = The Final Battle
- eventStage51Tbl = The FINAL Final Battle
2-Player Event Matches
- eventStage1Tbl_2p = Two Trouble Kings
- eventStage5Tbl_2p = Master the Pokemon Tag Battle
- eventStage8Tbl_2p = Fastest, Shortest, Sudden Death
- eventStage12Tbl_2p = The DK Tag Calamity
- eventStage13Tbl_2p = The Yoshi Team of 50
- eventStage22Tbl_2p = Unwanted Suitors
- eventStage25Tbl_2p = Battle of the Dark Sides
- eventStage27Tbl_2p = All MINE!
- eventStage28Tbl_2p = Those Who Wait in Onett
- eventStage30Tbl_2p = The R.O.B.'s of Tomorrow
- eventStage31Tbl_2p = The Great Remodeling Battle
- eventStage32Tbl_2p = Come Back, Falcon Flyer!
- eventStage36Tbl_2p = The Dark Guardians
- eventStage39Tbl_2p = Blades of the Quick and Mighty
- eventStage40Tbl_2p = Four Swords Brawl
- eventStage41Tbl_2p = Jigglypuff's Great Comeback
- eventStage45Tbl_2p = Sonic & Mario
- eventStage46Tbl_2p = The New Weapon of Shadow Moses
- eventStage48Tbl_2p = Shadow of Andross
- eventStage50Tbl_2p = The Final Battle for Two
- eventStage51Tbl_2p = The True All-Star Battle
The menu data for events can be found in sc_sel_event_en.pac. MiscData contains a mapping of strings to events and their messages (found in MiscData).
MiscData is a standard data file and contains two tables (one for single and co-op). Each entry in a table follows the format:
|0x00||uint32_t||Title String||The index of the event title string found in MiscData.|
|0x04||uint32_t||Description String||The index of the event description string found in MiscData.|
|0x08||uint8_t||Unknown||Related to 0x0A.|
|0x0A||uint8_t||Unknown||Related to 0x08.|
|0x0B||uint8_t||Flags|| Only value seen:
|0x0C||uint8_t||Event ID||The 0-based index into the event table that this links to. (Example: 0 = eventStage1Tbl)|
|0x0D||__padding||Padding||Most likely padding for a 4-byte structure alignment.|