GameScene: Difference between revisions

no edit summary
imported>Leoetlino
imported>Leoetlino
No edit summary
Line 173: Line 173:
* Status 0:
* Status 0:
** Start loading
** Start loading
***Finish startup logo (Switch)
***Finish startup logo (Switch)<ref>0x71007AF6F8</ref>
***If the state string is set to 初回シーケンス, clear the Resource system cache ("ClearAllCaches").
***If the state string is set to 初回シーケンス, clear the Resource system cache ("ClearAllCaches")<ref>0x71007AFBDC</ref>.
***Debug stuff.
***Debug stuff<ref>0x71007AFDE4</ref>.
***E3 Demo stuff.
***E3 Demo stuff<ref>0x71007AFEF4</ref>.
***Show the Fade screen (loading screen) if the state string does ''not'' end with "Viewer" or is ''not'' any of the following strings: 1st, 2nd, Presentation, TitleMenu, 初回シーケンス, StartupSaveCheckStage
***Show the Fade screen (loading screen) if the state string does ''not''<ref>0x71007AFF08</ref> end with "Viewer" or is ''not'' any of the following strings: 1st, 2nd, Presentation, TitleMenu, 初回シーケンス, StartupSaveCheckStage
**** And then show the FadeStatus and the LoadSaveIcon screens.
**** And then show the FadeStatus<ref>0x71007AFFC4</ref> and the LoadSaveIcon screens<ref>0x71007AFFCC</ref>.
****Otherwise, only open the Fade screen but do not show loading progress.
****Otherwise, only open the Fade screen but do not show loading progress<ref>See function at 0x71007B0C60</ref>.
***StageSelect stuff.
***StageSelect stuff<ref>0x71007B0000</ref>.
***Stop "resource compaction" and wait for it to be stopped.
***Stop "resource compaction" and wait for it to be stopped<ref>0x71007B00B4 (stop compaction) to 0x71007B010C (end of the busy loop)</ref>.
***If the stage string starts with CDungeon or MainFieldDungeonStage, start loading the associated DungeonPack.
***If the stage string starts with CDungeon<ref>0x71007B0124</ref> or MainFieldDungeonStage<ref>0x71007B0160</ref>, start loading the associated DungeonPack<ref>0x71007B0190</ref>.
***BaseProcMgr: start ActorCreate initializer thread.
***BaseProcMgr: start ActorCreate initializer thread<ref>0x71011BF1C4</ref>{{check}}.
***FadeProgress: reset internal state, set progress to 0% and mark loading as active.
***FadeProgress: reset internal state<ref>0x71007B01D4</ref>, set progress to 0%<ref>0x71007B01E0</ref> and mark loading as active<ref>0x71007B01E8</ref>.
* Status 2:
* Status 2:
**If the GameScene state machine's current state is StageSelect or NewSave, do something involving LayerMgrTask and the Renderer.{{check}}
**If the GameScene state machine's current state is StageSelect or NewSave, do something involving LayerMgrTask and the Renderer.{{check}}
Line 191: Line 191:
* Status 0xb:
* Status 0xb:
** Set GameScene's isNewSave property.
** Set GameScene's isNewSave property.
** Reset status to 0
** Reset status to 0.
** Change GameScene state to StageTransition.
** Change GameScene state to StageTransition<ref>0x71007B1058</ref>.
** Set stage status to "NeedsGeneration".
** Set stage status to "NeedsGeneration" (2)<ref>0x71007B105C</ref>.


== Stage generation ==
== Stage generation ==
Line 246: Line 246:
* Step 13
* Step 13


<hr>
== References ==
<references/>
<references/>
[[Category:Internals]]
[[Category:Internals]]
[[Category:Subsystems (BotW)]]
[[Category:Subsystems (BotW)]]
Anonymous user