GameScene: Difference between revisions
Jump to navigation
Jump to search
→Stage generation step 11
imported>Leoetlino |
imported>Leoetlino |
||
Line 351: | Line 351: | ||
=== Stage generation step 11 === | === Stage generation step 11 === | ||
* Step 0: init before stage gen (ステージ生成前の初期化処理) | * Step 0: init before stage gen (ステージ生成前の初期化処理)<ref>The function can be found at 0x71007B15A8 in Switch 1.5.0.</ref> | ||
**Various flags are set (GameScene, BaseProcMgr, Awareness, EventMgr), in particular field 0x1d12a is set to true if <code>!isNewSave</code>. | **Various flags are set (GameScene, BaseProcMgr, Awareness, EventMgr), in particular field 0x1d12a is set to true if <code>!isNewSave</code>. | ||
**Set initial position based on the stage binder. This may be overridden with a saved position or an event position later on. | **Set initial position based on the stage binder. This may be overridden with a saved position or an event position later on. | ||
Line 370: | Line 370: | ||
**If a flag is set (GameScene @ 0x6e5), SaveSystem::startLoad is called. | **If a flag is set (GameScene @ 0x6e5), SaveSystem::startLoad is called. | ||
**TipsMgr: Initialize the TipsSystemActor. | **TipsMgr: Initialize the TipsSystemActor. | ||
*Step 1: wait for horse generation (馬の生成待ち) | |||
*Step 2: if the stage binder type is not Title and not Viewer and not StartupSaveCheck, initialize PauseMenuDataMgr (PauseMenuDataMgr::fromSaveData). | |||
*Step 3: wait for player equipment actor generation to complete (プレイヤーの装備アクターの生成完了待ち): CreatePlayerEquipActorMgr | |||
*Step 4 | |||
**aocManager: parse MainField static map unit (if aocManager exists) | |||
**Something involving vectors and calculations{{check}} | |||
*Step 5 | |||
**Update FadeProgress based on the queue size of the BaseProcMgr actor create initializer{{check}} and PlacementMgr load progress{{check}}. This step represents the '''last 40% of the progress bar'''. | |||
**Start [[#Stage generation step 11-5b]] as an async task<ref>0x71007B2C78</ref> and wait for it to complete. | |||
**Stop the Fade screen "color animator". | |||
**Call this->stage->initForStageGen (vtable @ 0x60). For most stages, this calls WorldMgr's SkyMgr::update. | |||
**Graphics, uiManager, agl::lyr::Renderer: ?{{check}} | |||
**Set this->activeStageBinder (@ 0x2a0) to this->stageBinder (@ 0x2a8)<ref>0x71007B1A88</ref>. | |||
==== Stage generation step 11-5b ==== | |||
*ProductReporter: reset scene work time (the amount of time since the last scene generation) and reset the blood moon reporter. | |||
*Destroy the previous stage binder (this->activeStageBinder) if it's different from the current binder (this->stageBinder), and also set this->stage to nullptr. | |||
*''Set the scene change event flow and entry point names'': | |||
**If the binder type is Title: Demo025_2<Demo025_2> | |||
**If aocManager::sInstance->version >= 0x200 and !100enemy_Activated and IsGet_Weapon_Sword_070 and !IsPlayed_Demo146_0: | |||
***If the current [[map area]] is 14 (Korok Forest): | |||
****If [[BalladOfHeroActiveTiming]] is 1: Aoc2Resident<InForrest> | |||
****If [[BalladOfHeroActiveTiming]] is 0: Demo201_0<Demo201_0> | |||
***Otherwise: | |||
****If [[BalladOfHeroActiveTiming]] is 2: Aoc2Resident<InShrineOfResurrection> | |||
****If [[BalladOfHeroActiveTiming]] is 1: Aoc2Resident<InOtherArea> | |||
****If [[BalladOfHeroActiveTiming]] is 0: Demo200_0<Demo200_0> | |||
**Otherwise, if the map type is MainField: | |||
***If [[BalladOfHeroActiveTiming]] is 2: Demo600_1<Demo600_1> | |||
***If [[BalladOfHeroActiveTiming]] is 1: Demo600_1<Demo600_0> | |||
***Otherwise: Demo025_0<Demo025_0> | |||
***If the map type is CDungeon or MarioClubTestDungeon: Demo008_2<Demo008_2> | |||
*WorldMgr ShootingStarMgr: Update the isMainField flag. | |||
*AmiiboMgr: Set flag 0x40 if the map name is MainField, otherwise clear it. | |||
*'''Create the stage'''<ref>0x71007B3C5C</ref>. | |||
**The stage class is automatically selected based on the stage binder type. | |||
**stage->init and stage->postInit are called here<ref>0x71007CC024</ref>. | |||
=== Stage generation step 12 === | === Stage generation step 12 === |