diff --git a/config/SOUE01/rels/d_t_sword_battle_gameNP/symbols.txt b/config/SOUE01/rels/d_t_sword_battle_gameNP/symbols.txt index c8df2e55..bad9ea15 100644 --- a/config/SOUE01/rels/d_t_sword_battle_gameNP/symbols.txt +++ b/config/SOUE01/rels/d_t_sword_battle_gameNP/symbols.txt @@ -12,7 +12,7 @@ __dt__36sFStateFct_c<20dTgSwordBattleGame_c>Fv = .text:0x000002A0; // type:funct __dt__89sStateMgr_c<20dTgSwordBattleGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x00000310; // type:function size:0xA0 __dt__59sFStateMgr_c<20dTgSwordBattleGame_c,20sStateMethodUsr_FI_c>Fv = .text:0x000003B0; // type:function size:0xA4 create__20dTgSwordBattleGame_cFv = .text:0x00000460; // type:function size:0x70 -checkInBossRushMinigame__20dTgSwordBattleGame_cFv = .text:0x000004D0; // type:function size:0x8 +checkInBossRush__15MinigameManagerFv = .text:0x000004D0; // type:function size:0x8 changeState__89sStateMgr_c<20dTgSwordBattleGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x000004E0; // type:function size:0x10 doDelete__20dTgSwordBattleGame_cFv = .text:0x000004F0; // type:function size:0x44 actorExecute__20dTgSwordBattleGame_cFv = .text:0x00000540; // type:function size:0x184 diff --git a/configure.py b/configure.py index 1f146eea..c8e4253f 100644 --- a/configure.py +++ b/configure.py @@ -2958,7 +2958,7 @@ config.libs = [ Rel(NonMatching, "d_t_sparks", "REL/d/t/d_t_sparks.cpp"), Rel(NonMatching, "d_t_spore", "REL/d/t/d_t_spore.cpp"), Rel(Matching, "d_t_stream", "REL/d/t/d_t_stream.cpp"), - Rel(NonMatching, "d_t_sword_battle_game", "REL/d/t/d_t_sword_battle_game.cpp"), + Rel(Matching, "d_t_sword_battle_game", "REL/d/t/d_t_sword_battle_game.cpp"), Rel(Matching, "d_t_sw_area", "REL/d/t/d_t_sw_area.cpp"), Rel(Matching, "d_t_tackle", "REL/d/t/d_t_tackle.cpp"), Rel(Matching, "d_t_telop", "REL/d/t/d_t_telop.cpp"), diff --git a/include/d/t/d_t_sword_battle_game.h b/include/d/t/d_t_sword_battle_game.h index 3f1255b2..2b16d28c 100644 --- a/include/d/t/d_t_sword_battle_game.h +++ b/include/d/t/d_t_sword_battle_game.h @@ -24,12 +24,10 @@ public: bool checkInEvent(const char *eventName); - static bool checkInBossRushFlag(); + bool checkInBossRushFlag(); void unsetInBossRushFlag(); void setInBossRushFlag(); - static bool checkInBossRushMinigame(); - void unsetEarlyFightFlags() const; void unsetImprisonedFightFlags() const; void unsetDemiseFightFlag() const; diff --git a/include/toBeSorted/minigame_mgr.h b/include/toBeSorted/minigame_mgr.h index 779e50c0..10bb4be3 100644 --- a/include/toBeSorted/minigame_mgr.h +++ b/include/toBeSorted/minigame_mgr.h @@ -28,6 +28,13 @@ public: static void destroy(); static void execute(); + static MinigameManager *GetInstance() { + return sInstance; + } + static bool checkInBossRush() { + return isInMinigameState(BOSS_RUSH); + } + private: MinigameManager() {} virtual ~MinigameManager() {} diff --git a/src/REL/d/t/d_t_sword_battle_game.cpp b/src/REL/d/t/d_t_sword_battle_game.cpp index ad70677b..c318a16c 100644 --- a/src/REL/d/t/d_t_sword_battle_game.cpp +++ b/src/REL/d/t/d_t_sword_battle_game.cpp @@ -5,7 +5,6 @@ #include "d/d_sc_game.h" #include "d/flag/storyflag_manager.h" #include "d/lyt/d_lyt_mini_game.h" -#include "egg/prim/eggBitFlag.h" #include "f/f_base.h" #include "f/f_profile_name.h" #include "sized_string.h" @@ -24,7 +23,7 @@ STATE_VIRTUAL_DEFINE(dTgSwordBattleGame_c, Manage); SPECIAL_ACTOR_PROFILE(TAG_SWORD_BATTLE_GAME, dTgSwordBattleGame_c, fProfile::TAG_SWORD_BATTLE_GAME, 0x6F, 0, 4); int dTgSwordBattleGame_c::create() { - if (!checkInBossRushFlag() && !checkInBossRushMinigame()) { + if (!checkInBossRushFlag() && !MinigameManager::GetInstance()->checkInBossRush()) { return FAILED; } @@ -32,10 +31,6 @@ int dTgSwordBattleGame_c::create() { mStateMgr.changeState(StateID_Wait); return SUCCEEDED; } -// This needs to be emitted before the change state function... -bool dTgSwordBattleGame_c::checkInBossRushMinigame() { - return MinigameManager::isInMinigameState(MinigameManager::BOSS_RUSH); -} int dTgSwordBattleGame_c::doDelete() { fBase_c::doDelete(); @@ -132,7 +127,7 @@ int dTgSwordBattleGame_c::draw() { void dTgSwordBattleGame_c::initializeState_Wait() {} void dTgSwordBattleGame_c::executeState_Wait() { - if (checkInBossRushMinigame()) { + if (MinigameManager::GetInstance()->checkInBossRush()) { if (field_0x1A8) { mStateMgr.changeState(StateID_Manage); } else { @@ -167,7 +162,7 @@ void dTgSwordBattleGame_c::executeState_Manage() { void dTgSwordBattleGame_c::finalizeState_Manage() {} void dTgSwordBattleGame_c::init() { - if (checkInBossRushMinigame()) { + if (MinigameManager::GetInstance()->checkInBossRush()) { createBase(fProfile::LYT_MINI_GAME, this, 8, OTHER); } mTimer.vt_0x0C();