summaryrefslogtreecommitdiff
path: root/mm/2s2h/GameInteractor/GameInteractor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mm/2s2h/GameInteractor/GameInteractor.cpp')
-rw-r--r--mm/2s2h/GameInteractor/GameInteractor.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/mm/2s2h/GameInteractor/GameInteractor.cpp b/mm/2s2h/GameInteractor/GameInteractor.cpp
index fe6cb7fb1..97422c41b 100644
--- a/mm/2s2h/GameInteractor/GameInteractor.cpp
+++ b/mm/2s2h/GameInteractor/GameInteractor.cpp
@@ -179,6 +179,14 @@ void GameInteractor_ExecuteOnPlayerPostLimbDraw(Player* player, s32 limbIndex) {
GameInteractor::Instance->ExecuteHooksForFilter<GameInteractor::OnPlayerPostLimbDraw>(player, limbIndex);
}
+void GameInteractor_ExecuteOnBossDefeated(s16 actorId) {
+ SPDLOG_DEBUG("GameInteractor_ExecuteOnBossDefeated: actorId: {}", actorId);
+ GameInteractor::Instance->ExecuteHooks<GameInteractor::OnBossDefeated>(actorId);
+ GameInteractor::Instance->ExecuteHooksForID<GameInteractor::OnBossDefeated>(actorId, actorId);
+ GameInteractor::Instance->ExecuteHooksForPtr<GameInteractor::OnBossDefeated>((uintptr_t)actorId, actorId);
+ GameInteractor::Instance->ExecuteHooksForFilter<GameInteractor::OnBossDefeated>(actorId);
+}
+
void GameInteractor_ExecuteOnSceneFlagSet(s16 sceneId, FlagType flagType, u32 flag) {
SPDLOG_DEBUG("OnSceneFlagSet: sceneId: {}, flagType: {}, flag: {}", sceneId, (u32)flagType, flag);
GameInteractor::Instance->ExecuteHooks<GameInteractor::OnSceneFlagSet>(sceneId, flagType, flag);
@@ -258,6 +266,13 @@ void GameInteractor_ExecuteOnItemGive(u8 item) {
GameInteractor::Instance->ExecuteHooksForFilter<GameInteractor::OnItemGive>(item);
}
+void GameInteractor_ExecuteOnBottleContentsUpdate(u8 item) {
+ SPDLOG_DEBUG("OnBottleContentsUpdate: item: {}", item);
+ GameInteractor::Instance->ExecuteHooks<GameInteractor::OnBottleContentsUpdate>(item);
+ GameInteractor::Instance->ExecuteHooksForID<GameInteractor::OnBottleContentsUpdate>(item, item);
+ GameInteractor::Instance->ExecuteHooksForFilter<GameInteractor::OnBottleContentsUpdate>(item);
+}
+
bool GameInteractor_Should(GIVanillaBehavior flag, uint32_t result, ...) {
// Only the external function can use the Variadic Function syntax
// To pass the va args to the next caller must be done using va_list and reading the args into it