| 1 | #pragma once |
|---|---|
| 2 | |
| 3 | #include <basis/seadTypes.h> |
| 4 | |
| 5 | #include "Library/Sequence/Sequence.h" |
| 6 | |
| 7 | #include "System/GameDataHolderAccessor.h" |
| 8 | |
| 9 | class HakoniwaStateDemoOpening; |
| 10 | class HakoniwaStateDemoEnding; |
| 11 | class HakoniwaStateDemoWorldWarp; |
| 12 | class HakoniwaStateSimpleDemo; |
| 13 | class HakoniwaStateBootLoadData; |
| 14 | class HakoniwaStateDeleteScene; |
| 15 | class WorldResourceLoader; |
| 16 | class StageScene; |
| 17 | class GameDataHolderAccessor; |
| 18 | class BootLayout; |
| 19 | class TimeBalloonSequenceInfo; |
| 20 | class CollectBgmPlayer; |
| 21 | class LoadLayoutCtrl; |
| 22 | |
| 23 | namespace al { |
| 24 | class WipeHolder; |
| 25 | class Scene; |
| 26 | class AudioDirector; |
| 27 | class LayoutKit; |
| 28 | class SimpleLayoutAppearWaitEnd; |
| 29 | class AsyncFunctorThread; |
| 30 | class SeadAudioPlayer; |
| 31 | class AudioBusSendFader; |
| 32 | class SimpleAudioUser; |
| 33 | class ScreenCaptureExecutor; |
| 34 | class GamePadSystem; |
| 35 | class EffectSystem; |
| 36 | |
| 37 | } // namespace al |
| 38 | |
| 39 | class HakoniwaSequence : public al::Sequence { |
| 40 | public: |
| 41 | HakoniwaSequence(const char* name); |
| 42 | |
| 43 | void init(const al::SequenceInitInfo& info) override; |
| 44 | void update() override; |
| 45 | void drawMain() const override; |
| 46 | |
| 47 | void updatePadSystem(); |
| 48 | void destroySceneHeap(bool destroyResource); |
| 49 | void initSystem(); |
| 50 | bool isEnableSave() const; |
| 51 | |
| 52 | void exeBootLoadData(); |
| 53 | void exeDemoOpening(); |
| 54 | void exeLoadWorldResource(); |
| 55 | void exeLoadWorldResourceWithBoot(); |
| 56 | void exeLoadStage(); |
| 57 | void exePlayStage(); |
| 58 | void exeDemoWorldWarp(); |
| 59 | void exeDemoEnding(); |
| 60 | void exeDestroy(); |
| 61 | void exeMiss(); |
| 62 | void exeMissCoinSub(); |
| 63 | void exeMissEnd(); |
| 64 | void exeDemoLava(); |
| 65 | void exeFadeToNewGame(); |
| 66 | void exeChangeLanguage(); |
| 67 | void exeWaitWriteData(); |
| 68 | void exeWaitLoadData(); |
| 69 | void exeWaitWriteDataModeChange(); |
| 70 | void exeWaitLoadDataModeChange(); |
| 71 | |
| 72 | bool isDisposable() const override; |
| 73 | al::Scene* getCurrentScene() const override; |
| 74 | |
| 75 | private: |
| 76 | al::Scene* mCurrentScene; |
| 77 | GameDataHolderAccessor mGameDataHolderAccessor; |
| 78 | al::GamePadSystem* mGamePadSystem; |
| 79 | HakoniwaStateDemoOpening* mStateDemoOpening; |
| 80 | HakoniwaStateDemoEnding* mStateDemoEnding; |
| 81 | HakoniwaStateDemoWorldWarp* mStateDemoWorldWarp; |
| 82 | HakoniwaStateSimpleDemo* mStateSimpleDemo; |
| 83 | HakoniwaStateBootLoadData* mStateBootLoadData; |
| 84 | HakoniwaStateDeleteScene* mStateDeleteScene; |
| 85 | al::LayoutKit* mLayoutKit; |
| 86 | bool _100; |
| 87 | sead::FixedSafeString<128> mStageName; |
| 88 | s32 mNextScenarioNum; |
| 89 | s32 _1a4; |
| 90 | al::ScreenCaptureExecutor* mScreenCaptureExecutor; |
| 91 | al::WipeHolder* mWipeHolder; |
| 92 | bool mIsMissEnd; |
| 93 | al::SimpleLayoutAppearWaitEnd* mCounterMiss; |
| 94 | s32 mCurrentCoins; |
| 95 | s32 mFinalCoins; |
| 96 | BootLayout* mBootLayout; |
| 97 | al::EffectSystem* mEffectSystem; |
| 98 | al::AsyncFunctorThread* mInitThread; |
| 99 | bool mIsInitialized; |
| 100 | al::SeadAudioPlayer* mSeAudioPlayer; |
| 101 | al::SeadAudioPlayer* mBgmAudioPlayer; |
| 102 | al::AudioBusSendFader* mAudioBusSendFader; |
| 103 | WorldResourceLoader* mResourceLoader; |
| 104 | sead::Heap* mPlayerResourceHeap; |
| 105 | sead::FixedSafeString<128> mCapName; |
| 106 | sead::FixedSafeString<128> mCostumeName; |
| 107 | al::SimpleAudioUser* mPlayerAudioUser; |
| 108 | bool mIsHackEnd; |
| 109 | TimeBalloonSequenceInfo* mBalloonSeqInfo; |
| 110 | CollectBgmPlayer* mCollectBgmPlayer; |
| 111 | sead::FixedSafeString<128> mLanguage; |
| 112 | s32 mFileId; |
| 113 | LoadLayoutCtrl* mLoadLayoutCtrl; |
| 114 | bool mIsKidsMode; |
| 115 | }; |
| 116 | |
| 117 | static_assert(sizeof(HakoniwaSequence) == 0x418, "HakoniwaSequnce size"); |
| 118 |