GameScene: Difference between revisions
Jump to navigation
Jump to search
→precalc: update information on preCalc, now that it's mostly clear what it does (and how panic blood moons work)
imported>Leoetlino |
imported>Leoetlino (→precalc: update information on preCalc, now that it's mostly clear what it does (and how panic blood moons work)) |
||
Line 229: | Line 229: | ||
*Update current map name based on player position (when Link is not in a dungeon). | *Update current map name based on player position (when Link is not in a dungeon). | ||
*Run StageMgr and StageSelect code. | *Run StageMgr and StageSelect code. | ||
*? | *If a flag is set, run the final step of stage generation. (Unused?) | ||
*If stage status is "NeedsGeneration": | *If stage status is "NeedsGeneration": | ||
**Call some [[MCMgr]] function at 0x71007A9198. | **Call some [[MCMgr]] function at 0x71007A9198. | ||
Line 238: | Line 238: | ||
**Run save upload subsystem if needed. | **Run save upload subsystem if needed. | ||
**Call GameScene::unloadStage. | **Call GameScene::unloadStage. | ||
* | *If no stage is being unloaded, call <code>this->activeStageBinder->getStage()->preCalc</code>. | ||
*??? (something involving GameScene Subsystem #12) | *??? (something involving GameScene Subsystem #12) | ||
*Call some [[MCMgr]] function at 0x71007A9198, again. | *Call some [[MCMgr]] function at 0x71007A9198, again. | ||
* | *If the current state is StageMgr: | ||
**Reset the current stage binder by setting a flag for StageMgr if needed (after a Blood Moon{{check}}) | |||
**If a forced blood moon is ready | |||
***If panic blood moons can be triggered (see [[Blood moon#Panic blood moon inhibitors]]), call the Blood Moon demo (Demo011_0). | |||
***Report the panic blood moon via the [[telemetry]] system. | |||
**If any [[Blood moon#Panic Blood Moons|panic condition]] is true, request a panic blood moon by setting a SkyMgr flag. SkyMgr will start a 90 frame timer (3 seconds) and set a ready flag once it has expired. The timer is reset every time the panic blood moon is temporarily inhibited. | |||
=== calc === | === calc === |