| 1 | #pragma once |
| 2 | |
| 3 | #include <basis/seadTypes.h> |
| 4 | |
| 5 | namespace al { |
| 6 | struct ActorInitInfo; |
| 7 | class PlacementInfo; |
| 8 | class PlacementId; |
| 9 | class LiveActor; |
| 10 | class Scene; |
| 11 | class LayoutActor; |
| 12 | class IUseSceneObjHolder; |
| 13 | } // namespace al |
| 14 | |
| 15 | class SaveObjInfo; |
| 16 | class GameDataHolderAccessor; |
| 17 | class NpcEventDirector; |
| 18 | class KoopaShip; |
| 19 | class QuestInfo; |
| 20 | class ShineTowerRocket; |
| 21 | class WorldWarpHole; |
| 22 | class GameDataHolder; |
| 23 | class CapMessageBossData; |
| 24 | |
| 25 | namespace rs { |
| 26 | SaveObjInfo* createSaveObjInfoWriteSaveData(const al::ActorInitInfo& actorInitInfo); |
| 27 | SaveObjInfo* createSaveObjInfoWriteSaveData(const al::ActorInitInfo& actorInitInfo, |
| 28 | const al::PlacementInfo& placementInfo); |
| 29 | SaveObjInfo* createSaveObjInfoNoWriteSaveDataInSameWorld(const al::ActorInitInfo& actorInitInfo); |
| 30 | SaveObjInfo* createSaveObjInfoNoWriteSaveDataInSameWorld(const al::ActorInitInfo& actorInitInfo, |
| 31 | const al::PlacementInfo& placementInfo); |
| 32 | SaveObjInfo* |
| 33 | createSaveObjInfoNoWriteSaveDataInSameWorldResetMiniGame(const al::ActorInitInfo& actorInitInfo); |
| 34 | SaveObjInfo* |
| 35 | createSaveObjInfoNoWriteSaveDataInSameWorldResetMiniGame(const al::ActorInitInfo& actorInitInfo, |
| 36 | const al::PlacementInfo& placementInfo); |
| 37 | SaveObjInfo* createSaveObjInfoNoWriteSaveDataInSameScenario(const al::ActorInitInfo& actorInitInfo); |
| 38 | SaveObjInfo* createSaveObjInfoNoWriteSaveDataInSameScenario(const al::ActorInitInfo& actorInitInfo, |
| 39 | const al::PlacementInfo& placementInfo); |
| 40 | SaveObjInfo* createSaveObjInfoWriteSaveData(const al::ActorInitInfo& actorInitInfo, |
| 41 | const al::PlacementId* placementId); |
| 42 | SaveObjInfo* createSaveObjInfoNoWriteSaveDataInSameWorld(const al::ActorInitInfo& actorInitInfo, |
| 43 | const al::PlacementId* placementId); |
| 44 | SaveObjInfo* |
| 45 | createSaveObjInfoNoWriteSaveDataInSameWorldResetMiniGame(const al::ActorInitInfo& actorInitInfo, |
| 46 | const al::PlacementId* placementId); |
| 47 | SaveObjInfo* createSaveObjInfoNoWriteSaveDataInSameScenario(const al::ActorInitInfo& actorInitInfo, |
| 48 | const al::PlacementId* placementId); |
| 49 | void onSaveObjInfo(SaveObjInfo* saveObjInfo); |
| 50 | void offSaveObjInfo(SaveObjInfo* saveObjInfo); |
| 51 | bool isOnSaveObjInfo(const SaveObjInfo* saveObjInfo); |
| 52 | void setGrowFlowerTime(const al::LiveActor* actor, const al::PlacementId*, const al::PlacementId*, |
| 53 | u64 time); |
| 54 | void setGrowFlowerTime(const al::LiveActor* actor, const al::PlacementId*, u64 time); |
| 55 | u64 getGrowFlowerTime(const al::LiveActor* actor, const al::PlacementId*); |
| 56 | bool isUsedGrowFlowerSeed(const al::LiveActor* actor, const al::PlacementId*); |
| 57 | void addGrowFlowerGrowLevel(const al::LiveActor* actor, const al::PlacementId*, u32 growLevel); |
| 58 | u32 getGrowFlowerGrowLevel(const al::LiveActor* actor, const al::PlacementId*); |
| 59 | const char* findGrowFlowerPotIdFromSeedId(const al::LiveActor* actor, const al::PlacementId*); |
| 60 | bool isPlayFirstTimeBalloon(const al::LiveActor* actor); |
| 61 | void playTimeBalloonFirst(const al::LiveActor* actor); |
| 62 | void onShortExplainGet(const al::LiveActor* actor); |
| 63 | void onShortExplainSet(const al::LiveActor* actor); |
| 64 | bool isShortExplainGet(const al::LiveActor* actor); |
| 65 | bool isShortExplainSet(const al::LiveActor* actor); |
| 66 | void onReactedLuigiCostume(const al::LiveActor* actor); |
| 67 | bool isReactedLuigiCostume(const al::LiveActor* actor); |
| 68 | s32 getPlayerRank(const al::LiveActor* actor); |
| 69 | s32 getPlayerRank(GameDataHolderAccessor accessor); |
| 70 | void setPlayerRank(const al::LiveActor* actor, s32 rank); |
| 71 | void setPlayerRank(GameDataHolderAccessor accessor, s32 rank); |
| 72 | u64 getPrincipalId(const al::LiveActor* actor); |
| 73 | void setPrincipalId(const al::LiveActor* actor, u64 principalId); |
| 74 | bool isAnswerCorrectSphinxQuiz(GameDataHolderAccessor accessor, const char* worldName); |
| 75 | void answerCorrectSphinxQuiz(const al::LiveActor* actor); |
| 76 | bool isAnswerCorrectSphinxQuizAll(GameDataHolderAccessor accessor, const char* worldName); |
| 77 | void answerCorrectSphinxQuizAll(const al::LiveActor* actor); |
| 78 | bool isTalkAlreadyLocalLanguage(const NpcEventDirector* npcEventDirector); |
| 79 | void talkLocalLanguage(const al::LiveActor* actor); |
| 80 | const char* getLocalLanguageName(const al::LiveActor* actor); |
| 81 | const char* getLocalLanguageName(const NpcEventDirector* npcEventDirector); |
| 82 | bool isOnFlagKinopioBrigadeNpcFirstTalk(const al::LiveActor* actor); |
| 83 | void onFlagKinopioBrigadeNpcFirstTalk(const al::LiveActor* actor); |
| 84 | bool isOnFlagHintNpcFirstTalk(const al::LiveActor* actor); |
| 85 | void onFlagHintNpcFirstTalk(const al::LiveActor* actor); |
| 86 | void playScenarioStartCamera(const al::LiveActor* actor, const QuestInfo* questInfo); |
| 87 | void playScenarioStartCamera(const al::LiveActor* actor, s32 idx); |
| 88 | void setExistKoopaShip(const KoopaShip* koopaShip); |
| 89 | void resetExistKoopaShip(const KoopaShip* koopaShip); |
| 90 | bool isExistKoopaShip(const ShineTowerRocket* shineTowerRocket); |
| 91 | bool isExistKoopaShipInSky(const ShineTowerRocket* shineTowerRocket); |
| 92 | bool tryUnlockShineName(const al::LiveActor* actor, s32 shineIdx); |
| 93 | void calcShineIndexTableNameAvailable(s32*, s32*, const al::LiveActor* actor); |
| 94 | void calcShineIndexTableNameUnlockable(s32*, s32*, const al::LiveActor* actor); |
| 95 | s32 calcWorldIdByWorldWarpHole(const WorldWarpHole* worldWarpHole, const char* changeStageId); |
| 96 | bool checkIsOpenWorldWarpHoleCurrentScenario(const WorldWarpHole* worldWarpHole); |
| 97 | bool isKidsMode(const al::LiveActor* actor); |
| 98 | bool isKidsMode(const al::LayoutActor* layout); |
| 99 | bool isKidsMode(const al::Scene* scene); |
| 100 | bool isKidsMode(const al::IUseSceneObjHolder* user); |
| 101 | bool isKidsMode(const GameDataHolder* holder); |
| 102 | bool isEnableCapMessageLifeOneKidsMode(const al::LiveActor* actor); |
| 103 | void disableCapMessageLifeOneKidsMode(const al::LiveActor* actor); |
| 104 | bool isInvalidChangeStage(const al::LiveActor* actor); |
| 105 | bool isSequenceTimeBalloonOrRace(const al::LiveActor* actor); |
| 106 | bool isSequenceTimeBalloonOrRace(const al::LiveActor* actor); |
| 107 | bool isTreasureBoxDeadStage(const al::LiveActor* actor); |
| 108 | void findRaceRecord(bool* isExistRecord, bool*, s32* record, s32*, s32* lapRecord, |
| 109 | const al::LiveActor* actor, const char* raceName); |
| 110 | void findRaceRecord(bool* isExistRecord, bool*, s32* record, s32*, s32* lapRecord, |
| 111 | const al::Scene* actor, const char* raceName); |
| 112 | void findRaceRecordRaceManRace(bool* isExistRecord, bool*, s32* record, s32*, s32* lapRecord, |
| 113 | const al::Scene* scene); |
| 114 | void findRaceRecordRaceManRace(bool* isExistRecord, bool*, s32* record, s32*, s32* lapRecord, |
| 115 | const al::LiveActor* actor); |
| 116 | void findRaceRecordRaceManRaceWithWorldId(bool* isExistRecord, bool*, s32* record, s32*, |
| 117 | s32* lapRecord, const al::Scene* scene, s32 worldId); |
| 118 | void findRaceRecordRaceManRaceWithWorldId(bool* isExistRecord, bool*, s32* record, s32*, |
| 119 | s32* lapRecord, const al::LiveActor* actor, s32 worldId); |
| 120 | void findRaceRecordRadicon(bool* isExistRecord, bool*, s32* record, s32*, s32* lapRecord, |
| 121 | const al::Scene* scene); |
| 122 | void findRaceRecordRadicon(bool* isExistRecord, bool*, s32* record, s32*, s32* lapRecord, |
| 123 | const al::LiveActor* actor); |
| 124 | void findRaceRecordYukimaru(bool* isExistRecord, bool*, s32* record, s32*, s32* lapRecord, |
| 125 | const al::Scene* scene, s32 level); |
| 126 | void findRaceRecordYukimaru(bool* isExistRecord, bool*, s32* record, s32*, s32* lapRecord, |
| 127 | const al::LiveActor* actor, s32 level); |
| 128 | void writeRaceRecord(const al::LiveActor* actor, const char* raceName, s32 record, s32, |
| 129 | s32 lapRecord); |
| 130 | void writeRaceRecord(const al::Scene* scene, const char* raceName, s32 record, s32, s32 lapRecord); |
| 131 | s32 getJumpingRopeBestCount(const al::LiveActor* actor); |
| 132 | s32 getJumpingRopeBestCount(const al::Scene* scene); |
| 133 | void setJumpingRopeBestCount(const al::LiveActor* actor, s32 count); |
| 134 | void setJumpingRopeBestCount(const al::Scene* scene, s32 count); |
| 135 | s32 getJumpingRopeDayCount(const al::LiveActor* actor); |
| 136 | void setJumpingRopeDayCount(const al::LiveActor* actor, s32 count); |
| 137 | void setJumpingRopeUpdateScoreFlag(const al::LiveActor* actor); |
| 138 | bool isExistRecordJumpingRope(const al::LiveActor* actor); |
| 139 | bool isExistRecordJumpingRope(const al::Scene* scene); |
| 140 | bool isExistRecordInDayJumpingRope(const al::LayoutActor* layout); |
| 141 | s32 getVolleyballBestCount(const al::LiveActor* actor); |
| 142 | s32 getVolleyballBestCount(const al::Scene* scene); |
| 143 | void setVolleyballBestCount(const al::LiveActor* actor, s32 count); |
| 144 | void setVolleyballBestCount(const al::Scene* scene, s32 count); |
| 145 | s32 getVolleyballDayCount(const al::LiveActor* actor); |
| 146 | void setVolleyballDayCount(const al::LiveActor* actor, s32 count); |
| 147 | void setVolleyballUpdateScoreFlag(const al::LiveActor* actor); |
| 148 | bool isExistRecordVolleyball(const al::LiveActor* actor); |
| 149 | bool isExistRecordVolleyball(const al::Scene* scene); |
| 150 | bool isExistRecordInDayVolleyball(const al::LayoutActor* layout); |
| 151 | void writeRaceRecordRaceManRace(const al::LiveActor* actor, s32 record); |
| 152 | bool isTalkFirstAmiiboNpc(const al::LiveActor* actor); |
| 153 | void offFlagTalkFirstAmiiboNpc(const al::LiveActor* actor); |
| 154 | bool checkGetShineForWorldTravelingPeach(GameDataHolderAccessor accessor, const char* worldName); |
| 155 | bool checkEnableAppearMoonWorldTravelingPeach(const al::LiveActor* actor); |
| 156 | bool isStartWorldTravelingPeach(const al::LiveActor* actor); |
| 157 | void startWorldTravelingPeach(const al::LiveActor* actor); |
| 158 | bool checkGetEnoughShine(const al::LiveActor* actor, s32 count); |
| 159 | bool checkGetEnoughShineInCurrentWorld(const al::LiveActor* actor); |
| 160 | void setFlagOnStartKoopaCapture(const al::LiveActor* actor); |
| 161 | bool isStartKoopaCapture(const al::LiveActor* actor); |
| 162 | bool isAlreadyTalkPrevWorldInWorldWarp(const al::LiveActor* actor, s32); |
| 163 | bool isAlreadyTalkNextWorldInWorldWarp(const al::LiveActor* actor, s32); |
| 164 | void setAlreadyTalkPrevWorldInWorldWarp(const al::LiveActor* actor, s32); |
| 165 | void setAlreadyTalkNextWorldInWorldWarp(const al::LiveActor* actor, s32); |
| 166 | bool checkNeedTalkPrevWorld(const al::LiveActor* actor); |
| 167 | s32 getTipsIdInWorldWarp(const al::LiveActor* actor); |
| 168 | void addTipsIdInWorldWarp(const al::LiveActor* actor); |
| 169 | void setTalkSpecialInWorldWarp(const al::LiveActor* actor, bool, bool); |
| 170 | bool isTalkFindKoopaInWorldWarp(const al::LiveActor* actor); |
| 171 | bool isTalkBossRaidInWorldWarp(const al::LiveActor* actor); |
| 172 | bool isClearMainScenario(const al::LiveActor* actor, s32 worldId); |
| 173 | bool checkAlreadyVisitStage(const GameDataHolder* holder, const char* stageName); |
| 174 | void visitStage(const GameDataHolder* holder, const char* stageName); |
| 175 | bool isSequenceGoToNextWorld(const al::IUseSceneObjHolder* user); |
| 176 | bool isSequenceCollectShineBeforeGameClear(const al::IUseSceneObjHolder* user); |
| 177 | bool isSequenceCollectShineForRepairHome(const al::IUseSceneObjHolder* user); |
| 178 | bool isSequenceCollectShine(const al::IUseSceneObjHolder* user); |
| 179 | bool isSequenceGoToMoonRock(const al::IUseSceneObjHolder* user); |
| 180 | bool isEnableExplainShopCoin(const al::LiveActor* actor); |
| 181 | void explainShopCoin(const al::LiveActor* actor); |
| 182 | bool checkShowNewItemAndPrepareSave(const al::LiveActor* actor); |
| 183 | bool isInNormalCoinShopFirst(const al::LiveActor* actor); |
| 184 | void offInNormalCoinShopFirst(const al::LiveActor* actor); |
| 185 | bool checkExistNewShopItem(const al::LiveActor* actor, s32, s32, bool); |
| 186 | CapMessageBossData* getCapMessageBossData(const al::LiveActor* actor); |
| 187 | void getYoshiFruit(SaveObjInfo* saveObjInfo); |
| 188 | bool isGetYoshiFruit(const SaveObjInfo* saveObjInfo); |
| 189 | bool isTalkKakku(const al::LiveActor* actor); |
| 190 | void talkKakku(const al::LiveActor* actor); |
| 191 | bool isTalkWorldTravelingPeach(const al::LiveActor* actor); |
| 192 | void talkWorldTravelingPeach(const al::LiveActor* actor); |
| 193 | bool isTalkCollectBgmNpc(const al::LiveActor* actor); |
| 194 | void talkCollectBgmNpc(const al::LiveActor* actor); |
| 195 | s32 getTokimekiMayorNpcFavorabilityRating(const al::LiveActor* actor); |
| 196 | void setTokimekiMayorNpcFavorabilityRating(const al::LiveActor* actor, s32 rating); |
| 197 | bool tryFindCoinStackSave(s32*, const al::LiveActor* actor, const al::PlacementId*); |
| 198 | void saveCoinStack(const al::LiveActor* actor, const al::PlacementId*, s32); |
| 199 | bool isCollectedBgmCityWorldCelemony(const al::LiveActor* actor); |
| 200 | bool isCollectedBgmCityWorldCelemony2D(const al::LiveActor* actor); |
| 201 | s32 calcGetShineNumCollectedBgm(GameDataHolderAccessor accessor); |
| 202 | bool checkGetShineCollectedBgmAll(const al::LiveActor* actor); |
| 203 | bool checkSavedHintPhoto(const al::LiveActor* actor, const char* name); |
| 204 | void saveHintPhoto(const al::LiveActor* actor, const char* name); |
| 205 | bool isRideSphinx(GameDataHolderAccessor accessor); |
| 206 | void rideSphinx(const al::LiveActor* actor); |
| 207 | bool isRideMotorcycle(GameDataHolderAccessor accessor); |
| 208 | void rideMotorcycle(const al::LiveActor* actor); |
| 209 | void setShowInformationPoleGrab(const al::IUseSceneObjHolder* user); |
| 210 | bool isNeedShowInformationPoleGrab(const al::IUseSceneObjHolder* user); |
| 211 | void setShowInformationPoleClimb(const al::IUseSceneObjHolder* user); |
| 212 | bool isNeedShowInformationPoleClimb(const al::IUseSceneObjHolder* user); |
| 213 | void setShowInformationPoleClimbTop(const al::IUseSceneObjHolder* user); |
| 214 | bool isNeedShowInformationPoleClimbTop(const al::IUseSceneObjHolder* user); |
| 215 | bool isNeedConfirmNetworkFirst(const al::IUseSceneObjHolder* user); |
| 216 | void saveConfirmNetworkFirst(const al::IUseSceneObjHolder* user); |
| 217 | } // namespace rs |
| 218 | |