Comets: Difference between revisions
(Comet Base Missions) |
(GalaxyCometScheduler and cycle tables) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 2: | Line 2: | ||
== Super Mario Galaxy == | == Super Mario Galaxy == | ||
This section describes how comets are unlocked in Super Mario Galaxy based on internal data, such as code and embedded tables.<br> | |||
<br> | |||
The basis for unlocking comets in '''SMG''' is this condition from the '''[[Progress_checks#GameEventValueTable|GameEventValueTable]]''': | |||
{| class="wikitable" | |||
|- | |||
! EventFlag | |||
! Type | |||
! SaveFlag | |||
! Condition 1 | |||
! Condition 2 | |||
! Unk6 | |||
! Condition 3 | |||
! Condition 4 | |||
|- | |||
| EventCometStarter | |||
| 1 | |||
| 1 | |||
| 0D | |||
| 00000000 | |||
| 00000000 | |||
| 00000000 | |||
| 00000000 | |||
|} | |||
The '''EventCometStarter''' flag is a requirement for all comets (that aren't Purple Coin missions), and it gets activated when collecting 13 Power Stars (hexadecimal '''0D''' in the table) | |||
=== List of Comets in SMG === | === List of Comets in SMG === | ||
| Line 166: | Line 191: | ||
| 1 | | 1 | ||
| 1 | | 1 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| EggStarGalaxy | | EggStarGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 179: | Line 204: | ||
| 1 | | 1 | ||
| 1 | | 1 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| HoneyBeeKingdomGalaxy | | HoneyBeeKingdomGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 192: | Line 217: | ||
| 1 | | 1 | ||
| 2 | | 2 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| StarDustGalaxy | | StarDustGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 205: | Line 230: | ||
| 1 | | 1 | ||
| 3 | | 3 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| BattleShipGalaxy | | BattleShipGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 218: | Line 243: | ||
| 1 | | 1 | ||
| 3 | | 3 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| HeavenlyBeachGalaxy | | HeavenlyBeachGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 231: | Line 256: | ||
| 1 | | 1 | ||
| 3 | | 3 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| PhantomGalaxy | | PhantomGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 244: | Line 269: | ||
| 1 | | 1 | ||
| 3 | | 3 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| CosmosGardenGalaxy | | CosmosGardenGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 257: | Line 282: | ||
| 1 | | 1 | ||
| 1 | | 1 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| IceVolcanoGalaxy | | IceVolcanoGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 270: | Line 295: | ||
| 1 | | 1 | ||
| 3 | | 3 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| SandClockGalaxy | | SandClockGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 283: | Line 308: | ||
| 1 | | 1 | ||
| 3 | | 3 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| ReverseKingdomGalaxy | | ReverseKingdomGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 296: | Line 321: | ||
| 1 | | 1 | ||
| 1 | | 1 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| OceanRingGalaxy | | OceanRingGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 309: | Line 334: | ||
| 1 | | 1 | ||
| 6 | | 6 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| FactoryGalaxy | | FactoryGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 322: | Line 347: | ||
| 1 | | 1 | ||
| 2 | | 2 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| OceanPhantomCaveGalaxy | | OceanPhantomCaveGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 335: | Line 360: | ||
| 1 | | 1 | ||
| 3 | | 3 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| CannonFleetGalaxy | | CannonFleetGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 348: | Line 373: | ||
| 1 | | 1 | ||
| 2 | | 2 | ||
| | | 00000000 | ||
| | | 00000000 | ||
| HellProminenceGalaxy | | HellProminenceGalaxy | ||
| EventCometStarter | | EventCometStarter | ||
| Line 358: | Line 383: | ||
|} | |} | ||
People have | People have expressed confusion about '''Freezeflame''''s comet "Frosty Cosmic Mario Race" (mission 4) appearing before the mission it's built on, being "Hot and Cold Collide" (mission 3). As the '''GameEventValueTable''' shows, '''Freezeflame''''s '''Comet Base Mission''' is set to be "The Frozen Peak of Baron Brrr" (mission 1). It's up to speculation if this is an oversight or intentional move by Nintendo.<br> | ||
<br> | <br> | ||
There exists a message labeled <code>ScenarioName_RedComet</code> that holds no actual text. This implies that Nintendo planned to give Speedrun comets a generic mission name but scrapped that later on in development. | There exists a message labeled <code>ScenarioName_RedComet</code> that holds no actual text. This implies that Nintendo planned to give Speedrun comets a generic mission name but scrapped that later on in development. | ||
=== GalaxyCometScheduler === | === GalaxyCometScheduler === | ||
'''GalaxyCometScheduler''' is a class name in '''SMG''' that holds several functions which are responsible for tracking, unlocking, moving and hiding comets. The main task of these functions is to '''advance a Dome's comet cycle after collecting a Power Star or using Comet Luma'''.<br> | |||
<br> | |||
A Dome's cycle starts when these conditions are met:<br> | |||
1) the Dome is unlocked<br> | |||
2) at least 13 Power Stars have been collected<br> | |||
3) at least one '''Comet Base Mission''' in a Galaxy inside this Dome has been beaten<br> | |||
The '''GalaxyCometScheduler''' will scan through the '''CometTimeTable''' (cycle table) of the corresponding Dome, starting at cycle 0, and then searches for the next valid state, skipping invalid ones. It comes to a halt once no more valid states are found, however it will continue from the last cycle onward once another state becomes valid again. | |||
The following table is an extract of all '''CometTimeTables''' put side-to-side with each other. The "Cycle" column is not part of the actual tables. | |||
{| class="wikitable" | |||
|- | |||
! rowspan="2" | Cycle | |||
! colspan="2" | Terrace* | |||
! | |||
! colspan="2" | Fountain* | |||
! | |||
! colspan="2" | Kitchen* | |||
! | |||
! colspan="2" | Bedroom* | |||
! | |||
! colspan="2" | Engine Room* | |||
! | |||
! colspan="2" | Garden* | |||
|- | |||
! StageName | |||
! CometType | |||
! | |||
! StageName | |||
! CometType | |||
! | |||
! StageName | |||
! CometType | |||
! | |||
! StageName | |||
! CometType | |||
! | |||
! StageName | |||
! CometType | |||
! | |||
! StageName | |||
! CometType | |||
|- | |||
| 0 | |||
| Good Egg Galaxy | |||
| 0 | |||
| | |||
| Space Junk Galaxy | |||
| 0 | |||
| | |||
| Ghostly Galaxy | |||
| 0 | |||
| | |||
| Dusty Dune Galaxy | |||
| 0 | |||
| | |||
| Sea Slide Galaxy | |||
| 1 | |||
| | |||
| Dreadnought Galaxy | |||
| 1 | |||
|- | |||
| 1 | |||
| Honeyhive Galaxy | |||
| 0 | |||
| | |||
| Space Junk Galaxy | |||
| 1 | |||
| | |||
| Beach Bowl Galaxy | |||
| 0 | |||
| | |||
| Gusty Garden Galaxy | |||
| 0 | |||
| | |||
| Gold Leaf Galaxy | |||
| 0 | |||
| | |||
| Deep Dark Galaxy | |||
| 1 | |||
|- | |||
| 2 | |||
| Honeyhive Galaxy | |||
| 1 | |||
| | |||
| Battlerock Galaxy | |||
| 0 | |||
| | |||
| Ghostly Galaxy | |||
| 1 | |||
| | |||
| Freezeflame Galaxy | |||
| 0 | |||
| | |||
| Sea Slide Galaxy | |||
| 0 | |||
| | |||
| Dreadnought Galaxy | |||
| 0 | |||
|- | |||
| 3 | |||
| Good Egg Galaxy | |||
| 1 | |||
| | |||
| Battlerock Galaxy | |||
| 1 | |||
| | |||
| Beach Bowl Galaxy | |||
| 1 | |||
| | |||
| Gusty Garden Galaxy | |||
| 1 | |||
| | |||
| Gold Leaf Galaxy | |||
| 1 | |||
| | |||
| Melty Molten Galaxy | |||
| 0 | |||
|- | |||
| 4 | |||
| Good Egg Galaxy | |||
| 0 | |||
| | |||
| Space Junk Galaxy | |||
| 1 | |||
| | |||
| Beach Bowl Galaxy | |||
| 0 | |||
| | |||
| Dusty Dune Galaxy | |||
| 0 | |||
| | |||
| Toy Time Galaxy | |||
| 0 | |||
| | |||
| Dreadnought Galaxy | |||
| 1 | |||
|- | |||
| 5 | |||
| Honeyhive Galaxy | |||
| 0 | |||
| | |||
| Battlerock Galaxy | |||
| 0 | |||
| | |||
| Ghostly Galaxy | |||
| 1 | |||
| | |||
| Gusty Garden Galaxy | |||
| 0 | |||
| | |||
| Sea Slide Galaxy | |||
| 1 | |||
| | |||
| Melty Molten Galaxy | |||
| 1 | |||
|- | |||
| 6 | |||
| Good Egg Galaxy | |||
| 1 | |||
| | |||
| Space Junk Galaxy | |||
| 0 | |||
| | |||
| Beach Bowl Galaxy | |||
| 1 | |||
| | |||
| Dusty Dune Galaxy | |||
| 1 | |||
| | |||
| Toy Time Galaxy | |||
| 0 | |||
| | |||
| Deep Dark Galaxy | |||
| 0 | |||
|- | |||
| 7 | |||
| Honeyhive Galaxy | |||
| 1 | |||
| | |||
| Battlerock Galaxy | |||
| 1 | |||
| | |||
| Ghostly Galaxy | |||
| 0 | |||
| | |||
| Gusty Garden Galaxy | |||
| 1 | |||
| | |||
| Gold Leaf Galaxy | |||
| 0 | |||
| | |||
| Dreadnought Galaxy | |||
| 1 | |||
|- | |||
| 8 | |||
| Good Egg Galaxy | |||
| 0 | |||
| | |||
| Space Junk Galaxy | |||
| 0 | |||
| | |||
| Beach Bowl Galaxy | |||
| 1 | |||
| | |||
| Dusty Dune Galaxy | |||
| 0 | |||
| | |||
| Toy Time Galaxy | |||
| 1 | |||
| | |||
| Deep Dark Galaxy | |||
| 1 | |||
|- | |||
| 9 | |||
| Honeyhive Galaxy | |||
| 1 | |||
| | |||
| Space Junk Galaxy | |||
| 1 | |||
| | |||
| Ghostly Galaxy | |||
| 0 | |||
| | |||
| Freezeflame Galaxy | |||
| 1 | |||
| | |||
| Sea Slide Galaxy | |||
| 0 | |||
| | |||
| Dreadnought Galaxy | |||
| 1 | |||
|- | |||
| 10 | |||
| Good Egg Galaxy | |||
| 1 | |||
| | |||
| Battlerock Galaxy | |||
| 0 | |||
| | |||
| Beach Bowl Galaxy | |||
| 0 | |||
| | |||
| Dusty Dune Galaxy | |||
| 1 | |||
| | |||
| Gold Leaf Galaxy | |||
| 0 | |||
| | |||
| Melty Molten Galaxy | |||
| 0 | |||
|- | |||
| 11 | |||
| Honeyhive Galaxy | |||
| 0 | |||
| | |||
| Battlerock Galaxy | |||
| 1 | |||
| | |||
| Ghostly Galaxy | |||
| 1 | |||
| | |||
| Gusty Garden Galaxy | |||
| 0 | |||
| | |||
| Toy Time Galaxy | |||
| 1 | |||
| | |||
| Deep Dark Galaxy | |||
| 1 | |||
|- | |||
| 12 | |||
| Honeyhive Galaxy | |||
| 0 | |||
| | |||
| Space Junk Galaxy | |||
| 0 | |||
| | |||
| Ghostly Galaxy | |||
| 0 | |||
| | |||
| Freezeflame Galaxy | |||
| 0 | |||
| | |||
| Sea Slide Galaxy | |||
| 0 | |||
| | |||
| Dreadnought Galaxy | |||
| 0 | |||
|- | |||
| 13 | |||
| Good Egg Galaxy | |||
| 0 | |||
| | |||
| Battlerock Galaxy | |||
| 0 | |||
| | |||
| Beach Bowl Galaxy | |||
| 1 | |||
| | |||
| Gusty Garden Galaxy | |||
| 1 | |||
| | |||
| Gold Leaf Galaxy | |||
| 1 | |||
| | |||
| Melty Molten Galaxy | |||
| 1 | |||
|- | |||
| 14 | |||
| Honeyhive Galaxy | |||
| 1 | |||
| | |||
| Space Junk Galaxy | |||
| 1 | |||
| | |||
| Ghostly Galaxy | |||
| 1 | |||
| | |||
| Freezeflame Galaxy | |||
| 1 | |||
| | |||
| Toy Time Galaxy | |||
| 0 | |||
| | |||
| Deep Dark Galaxy | |||
| 0 | |||
|- | |||
| 15 | |||
| Good Egg Galaxy | |||
| 1 | |||
| | |||
| Battlerock Galaxy | |||
| 1 | |||
| | |||
| Beach Bowl Galaxy | |||
| 0 | |||
| | |||
| Dusty Dune Galaxy | |||
| 0 | |||
| | |||
| Gold Leaf Galaxy | |||
| 0 | |||
| | |||
| Melty Molten Galaxy | |||
| 0 | |||
|- | |||
| 16 | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| Freezeflame Galaxy | |||
| 0 | |||
| | |||
| Toy Time Galaxy | |||
| 1 | |||
| | |||
| Dreadnought Galaxy | |||
| 0 | |||
|- | |||
| 17 | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| Gusty Garden Galaxy | |||
| 1 | |||
| | |||
| Sea Slide Galaxy | |||
| 1 | |||
| | |||
| Deep Dark Galaxy | |||
| 0 | |||
|- | |||
| 18 | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| Dusty Dune Galaxy | |||
| 1 | |||
| | |||
| Toy Time Galaxy | |||
| 0 | |||
| | |||
| Melty Molten Galaxy | |||
| 1 | |||
|- | |||
| 19 | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| Freezeflame Galaxy | |||
| 1 | |||
| | |||
| Gold Leaf Galaxy | |||
| 1 | |||
| | |||
| Dreadnought Galaxy | |||
| 0 | |||
|- | |||
| 20 | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| Gusty Garden Galaxy | |||
| 0 | |||
| | |||
| Sea Slide Galaxy | |||
| 0 | |||
| | |||
| Melty Molten Galaxy | |||
| 0 | |||
|- | |||
| 21 | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| Freezeflame Galaxy | |||
| 0 | |||
| | |||
| Toy Time Galaxy | |||
| 1 | |||
| | |||
| Deep Dark Galaxy | |||
| 1 | |||
|- | |||
| 22 | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| Dusty Dune Galaxy | |||
| 1 | |||
| | |||
| Sea Slide Galaxy | |||
| 1 | |||
| | |||
| Melty Molten Galaxy | |||
| 1 | |||
|- | |||
| 23 | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| Freezeflame Galaxy | |||
| 1 | |||
| | |||
| Gold Leaf Galaxy | |||
| 1 | |||
| | |||
| Deep Dark Galaxy | |||
| 0 | |||
|} | |||
<nowiki>*</nowiki>Internally these tables are labeled <code>sCometTimeTableGrandGalaxy1</code> through <code>sCometTimeTableGrandGalaxy6</code>.<br> | |||
<br> | |||
The available '''CometType''' values are: | |||
{| class="wikitable" | |||
|- | |||
! 0 | |||
| The Galaxy's normal comet (NormalComet) | |||
|- | |||
! 1 | |||
| The Galaxy's Purple Coin comet (Coin100Comet) | |||
|} | |||
Note that these tables were visually modified for convenience of reading. A raw extract of these tables can be found [[Progress_checks#GalaxyCometScheduler|here]]. | |||
=== Savefile quirks === | === Savefile quirks === | ||
Latest revision as of 09:46, 31 August 2025
This page's content is explained in a video by user Super Hackio: https://www.youtube.com/watch?v=g5SMm2XCGY4
Super Mario Galaxy
This section describes how comets are unlocked in Super Mario Galaxy based on internal data, such as code and embedded tables.
The basis for unlocking comets in SMG is this condition from the GameEventValueTable:
| EventFlag | Type | SaveFlag | Condition 1 | Condition 2 | Unk6 | Condition 3 | Condition 4 |
|---|---|---|---|---|---|---|---|
| EventCometStarter | 1 | 1 | 0D | 00000000 | 00000000 | 00000000 | 00000000 |
The EventCometStarter flag is a requirement for all comets (that aren't Purple Coin missions), and it gets activated when collecting 13 Power Stars (hexadecimal 0D in the table)
List of Comets in SMG
| Internal | Localized | |||||
|---|---|---|---|---|---|---|
| Galaxy Name | Comet 1 | Comet 2 | Galaxy Name | Comet 1 | Comet 2 | |
| EggStarGalaxy | Red | Purple | Good Egg Galaxy | Speedrun | Purple Coins | |
| HoneyBeeKingdomGalaxy | Ghost | Purple | Honeyhive Galaxy | Cosmic Race | Purple Coins | |
| StarDustGalaxy | Red | Black | Space Junk Galaxy | Speedrun | Timed Purple Coins | |
| BattleShipGalaxy | Dark | Purple | Battlerock Galaxy | Daredevil | Purple Coins | |
| HeavenlyBeachGalaxy | Quick | Purple | Beach Bowl Galaxy | Fast Foes | Purple Coins | |
| PhantomGalaxy | Dark | Black | Ghostly Galaxy | Daredevil | Timed Purple Coins | |
| CosmosGardenGalaxy | Dark | Black | Gusty Garden Galaxy | Daredevil | Timed Purple Coins | |
| IceVolcanoGalaxy | Ghost | Purple | Freezeflame Galaxy | Cosmic Race | Purple Coins | |
| SandClockGalaxy | Red | Purple | Dusty Dune Galaxy | Speedrun | Purple Coins | |
| ReverseKingdomGalaxy | Ghost | Black | Gold Leaf Galaxy | Cosmic Race | Timed Purple Coins | |
| OceanRingGalaxy | Ghost | Purple | Sea Slide Galaxy | Cosmic Race | Purple Coins | |
| FactoryGalaxy | Quick | Black | Toy Time Galaxy | Fast Foes | Timed Purple Coins | |
| OceanPhantomCaveGalaxy | Dark | Purple | Deep Dark Galaxy | Daredevil | Purple Coins | |
| CannonFleetGalaxy | Red | Purple | Dreadnought Galaxy | Speedrun | Purple Coins | |
| HellProminenceGalaxy | Dark | Purple | Melty Molten Galaxy | Daredevil | Purple Coins | |
The music for Comet missions is controlled by AudStageBgm.
Comet Base Missions
The following table is an extract from GameEventValueTable with an appended "Purified" section that reduces the data to its relevant information.
| Internal | Purified | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| EventFlag | Type | SaveFlag | Condition 1 | Condition 2 | Unk6 | Condition 3 | Condition 4 | Galaxy Name | Comet Base Mission | ||
| NormalCometEggStarGalaxy | 7 | 1 | 1 | 00000000 | 00000000 | EggStarGalaxy | EventCometStarter | Good Egg Galaxy | 1 | Dino Piranha | |
| NormalCometHoneyBeeKingdomGalaxy | 7 | 1 | 1 | 00000000 | 00000000 | HoneyBeeKingdomGalaxy | EventCometStarter | Honeyhive Galaxy | 1 | Bee Mario Takes Flight | |
| NormalCometStarDustGalaxy | 7 | 1 | 2 | 00000000 | 00000000 | StarDustGalaxy | EventCometStarter | Space Junk Galaxy | 2 | Kamella's Airship Attack | |
| NormalCometBattleShipGalaxy | 7 | 1 | 3 | 00000000 | 00000000 | BattleShipGalaxy | EventCometStarter | Battlerock Galaxy | 3 | Topmaniac and the Topman Tribe | |
| NormalCometHeavenlyBeachGalaxy | 7 | 1 | 3 | 00000000 | 00000000 | HeavenlyBeachGalaxy | EventCometStarter | Beach Bowl Galaxy | 3 | The Secret Undersea Cavern | |
| NormalCometPhantomGalaxy | 7 | 1 | 3 | 00000000 | 00000000 | PhantomGalaxy | EventCometStarter | Ghostly Galaxy | 3 | Beware of Bouldergeist | |
| NormalCometCosmosGardenGalaxy | 7 | 1 | 3 | 00000000 | 00000000 | CosmosGardenGalaxy | EventCometStarter | Gusty Garden Galaxy | 3 | Gusty Garden's Gravity Scramble | |
| NormalCometIceVolcanoGalaxy | 7 | 1 | 1 | 00000000 | 00000000 | IceVolcanoGalaxy | EventCometStarter | Freezeflame Galaxy | 1 | The Frozen Peak of Baron Brrr | |
| NormalCometSandClockGalaxy | 7 | 1 | 3 | 00000000 | 00000000 | SandClockGalaxy | EventCometStarter | Dusty Dune Galaxy | 3 | Sunbaked Sand Castle | |
| NormalCometReverseKingdomGalaxy | 7 | 1 | 3 | 00000000 | 00000000 | ReverseKingdomGalaxy | EventCometStarter | Gold Leaf Galaxy | 3 | When It Rains, It Pours | |
| NormalCometOceanRingGalaxy | 7 | 1 | 1 | 00000000 | 00000000 | OceanRingGalaxy | EventCometStarter | Sea Slide Galaxy | 1 | Going after Guppy | |
| NormalCometFactoryGalaxy | 7 | 1 | 6 | 00000000 | 00000000 | FactoryGalaxy | EventCometStarter | Toy Time Galaxy | 6 | The Flipswitch Chain | |
| NormalCometOceanPhantomCaveGalaxy | 7 | 1 | 2 | 00000000 | 00000000 | OceanPhantomCaveGalaxy | EventCometStarter | Deep Dark Galaxy | 2 | Bubble Blastoff | |
| NormalCometCannonFleetGalaxy | 7 | 1 | 3 | 00000000 | 00000000 | CannonFleetGalaxy | EventCometStarter | Dreadnought Galaxy | 3 | Revenge of the Topman Tribe | |
| NormalCometHellProminenceGalaxy | 7 | 1 | 2 | 00000000 | 00000000 | HellProminenceGalaxy | EventCometStarter | Melty Molten Galaxy | 2 | Through the Meteor Storm | |
People have expressed confusion about Freezeflame's comet "Frosty Cosmic Mario Race" (mission 4) appearing before the mission it's built on, being "Hot and Cold Collide" (mission 3). As the GameEventValueTable shows, Freezeflame's Comet Base Mission is set to be "The Frozen Peak of Baron Brrr" (mission 1). It's up to speculation if this is an oversight or intentional move by Nintendo.
There exists a message labeled ScenarioName_RedComet that holds no actual text. This implies that Nintendo planned to give Speedrun comets a generic mission name but scrapped that later on in development.
GalaxyCometScheduler
GalaxyCometScheduler is a class name in SMG that holds several functions which are responsible for tracking, unlocking, moving and hiding comets. The main task of these functions is to advance a Dome's comet cycle after collecting a Power Star or using Comet Luma.
A Dome's cycle starts when these conditions are met:
1) the Dome is unlocked
2) at least 13 Power Stars have been collected
3) at least one Comet Base Mission in a Galaxy inside this Dome has been beaten
The GalaxyCometScheduler will scan through the CometTimeTable (cycle table) of the corresponding Dome, starting at cycle 0, and then searches for the next valid state, skipping invalid ones. It comes to a halt once no more valid states are found, however it will continue from the last cycle onward once another state becomes valid again.
The following table is an extract of all CometTimeTables put side-to-side with each other. The "Cycle" column is not part of the actual tables.
| Cycle | Terrace* | Fountain* | Kitchen* | Bedroom* | Engine Room* | Garden* | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| StageName | CometType | StageName | CometType | StageName | CometType | StageName | CometType | StageName | CometType | StageName | CometType | ||||||
| 0 | Good Egg Galaxy | 0 | Space Junk Galaxy | 0 | Ghostly Galaxy | 0 | Dusty Dune Galaxy | 0 | Sea Slide Galaxy | 1 | Dreadnought Galaxy | 1 | |||||
| 1 | Honeyhive Galaxy | 0 | Space Junk Galaxy | 1 | Beach Bowl Galaxy | 0 | Gusty Garden Galaxy | 0 | Gold Leaf Galaxy | 0 | Deep Dark Galaxy | 1 | |||||
| 2 | Honeyhive Galaxy | 1 | Battlerock Galaxy | 0 | Ghostly Galaxy | 1 | Freezeflame Galaxy | 0 | Sea Slide Galaxy | 0 | Dreadnought Galaxy | 0 | |||||
| 3 | Good Egg Galaxy | 1 | Battlerock Galaxy | 1 | Beach Bowl Galaxy | 1 | Gusty Garden Galaxy | 1 | Gold Leaf Galaxy | 1 | Melty Molten Galaxy | 0 | |||||
| 4 | Good Egg Galaxy | 0 | Space Junk Galaxy | 1 | Beach Bowl Galaxy | 0 | Dusty Dune Galaxy | 0 | Toy Time Galaxy | 0 | Dreadnought Galaxy | 1 | |||||
| 5 | Honeyhive Galaxy | 0 | Battlerock Galaxy | 0 | Ghostly Galaxy | 1 | Gusty Garden Galaxy | 0 | Sea Slide Galaxy | 1 | Melty Molten Galaxy | 1 | |||||
| 6 | Good Egg Galaxy | 1 | Space Junk Galaxy | 0 | Beach Bowl Galaxy | 1 | Dusty Dune Galaxy | 1 | Toy Time Galaxy | 0 | Deep Dark Galaxy | 0 | |||||
| 7 | Honeyhive Galaxy | 1 | Battlerock Galaxy | 1 | Ghostly Galaxy | 0 | Gusty Garden Galaxy | 1 | Gold Leaf Galaxy | 0 | Dreadnought Galaxy | 1 | |||||
| 8 | Good Egg Galaxy | 0 | Space Junk Galaxy | 0 | Beach Bowl Galaxy | 1 | Dusty Dune Galaxy | 0 | Toy Time Galaxy | 1 | Deep Dark Galaxy | 1 | |||||
| 9 | Honeyhive Galaxy | 1 | Space Junk Galaxy | 1 | Ghostly Galaxy | 0 | Freezeflame Galaxy | 1 | Sea Slide Galaxy | 0 | Dreadnought Galaxy | 1 | |||||
| 10 | Good Egg Galaxy | 1 | Battlerock Galaxy | 0 | Beach Bowl Galaxy | 0 | Dusty Dune Galaxy | 1 | Gold Leaf Galaxy | 0 | Melty Molten Galaxy | 0 | |||||
| 11 | Honeyhive Galaxy | 0 | Battlerock Galaxy | 1 | Ghostly Galaxy | 1 | Gusty Garden Galaxy | 0 | Toy Time Galaxy | 1 | Deep Dark Galaxy | 1 | |||||
| 12 | Honeyhive Galaxy | 0 | Space Junk Galaxy | 0 | Ghostly Galaxy | 0 | Freezeflame Galaxy | 0 | Sea Slide Galaxy | 0 | Dreadnought Galaxy | 0 | |||||
| 13 | Good Egg Galaxy | 0 | Battlerock Galaxy | 0 | Beach Bowl Galaxy | 1 | Gusty Garden Galaxy | 1 | Gold Leaf Galaxy | 1 | Melty Molten Galaxy | 1 | |||||
| 14 | Honeyhive Galaxy | 1 | Space Junk Galaxy | 1 | Ghostly Galaxy | 1 | Freezeflame Galaxy | 1 | Toy Time Galaxy | 0 | Deep Dark Galaxy | 0 | |||||
| 15 | Good Egg Galaxy | 1 | Battlerock Galaxy | 1 | Beach Bowl Galaxy | 0 | Dusty Dune Galaxy | 0 | Gold Leaf Galaxy | 0 | Melty Molten Galaxy | 0 | |||||
| 16 | Freezeflame Galaxy | 0 | Toy Time Galaxy | 1 | Dreadnought Galaxy | 0 | |||||||||||
| 17 | Gusty Garden Galaxy | 1 | Sea Slide Galaxy | 1 | Deep Dark Galaxy | 0 | |||||||||||
| 18 | Dusty Dune Galaxy | 1 | Toy Time Galaxy | 0 | Melty Molten Galaxy | 1 | |||||||||||
| 19 | Freezeflame Galaxy | 1 | Gold Leaf Galaxy | 1 | Dreadnought Galaxy | 0 | |||||||||||
| 20 | Gusty Garden Galaxy | 0 | Sea Slide Galaxy | 0 | Melty Molten Galaxy | 0 | |||||||||||
| 21 | Freezeflame Galaxy | 0 | Toy Time Galaxy | 1 | Deep Dark Galaxy | 1 | |||||||||||
| 22 | Dusty Dune Galaxy | 1 | Sea Slide Galaxy | 1 | Melty Molten Galaxy | 1 | |||||||||||
| 23 | Freezeflame Galaxy | 1 | Gold Leaf Galaxy | 1 | Deep Dark Galaxy | 0 | |||||||||||
*Internally these tables are labeled sCometTimeTableGrandGalaxy1 through sCometTimeTableGrandGalaxy6.
The available CometType values are:
| 0 | The Galaxy's normal comet (NormalComet) |
|---|---|
| 1 | The Galaxy's Purple Coin comet (Coin100Comet) |
Note that these tables were visually modified for convenience of reading. A raw extract of these tables can be found here.
Savefile quirks
- After Bowser 3, Good Egg's purple comet is enforced in the Terrace upon loading the file, no matter what cycle it was during saving
- Once all non-comet Stars have been collected, the GalaxyCometScheduler cannot hide comets anymore, only advance cycles
Super Mario Galaxy 2
Explain tryOpenNewComet. Good luck to whoever is gonna do that. Oh wait... thats gonna be me
List of Comets in SMG2
tryOpenNewComet
Condition 1
Condition 2
Condition 3
Condition 4
Condition 5
Condition 6
Condition 7
Condition 8
Condition 9
Condition 10
Condition 11
Condition 12
Condition 13
Condition 14
Condition 15
Condition 16
GalaxyDataTable
Copy table from page over here?