Use ForID

This commit is contained in:
Demur Rumed 2024-11-19 21:56:07 +00:00
parent 9ad3c19a15
commit 572bd39e19

View File

@ -2076,14 +2076,12 @@ void RandomizerOnPlayDestroyHandler() {
}
}
void RandomizerOnEnemyDefeatHandler(void *refActor) {
void RandomizerOnGoldenSkulltulaDefeatHandler(void *refActor) {
Actor* actor = static_cast<Actor*>(refActor);
if (actor->id == ACTOR_EN_SW) {
auto rc = GetRandomizerCheckFromFlag(FlagType::FLAG_GS_TOKEN, actor->params);
auto itemLoc = Rando::Context::GetInstance()->GetItemLocation(rc);
if (itemLoc->GetCheckStatus() == RCSHOW_UNCHECKED) {
itemLoc->SetCheckStatus(RCSHOW_SEEN);
}
auto rc = GetRandomizerCheckFromFlag(FlagType::FLAG_GS_TOKEN, actor->params);
auto itemLoc = Rando::Context::GetInstance()->GetItemLocation(rc);
if (itemLoc->GetCheckStatus() == RCSHOW_UNCHECKED) {
itemLoc->SetCheckStatus(RCSHOW_SEEN);
}
}
@ -2125,7 +2123,7 @@ void RandomizerRegisterHooks() {
static uint32_t onGameFrameUpdateHook = 0;
static uint32_t onSceneSpawnActorsHook = 0;
static uint32_t onPlayDestroyHook = 0;
static uint32_t onEnemyDefeatHook = 0;
static uint32_t onGoldenSkulltulaDefeatHook = 0;
static uint32_t onExitGameHook = 0;
static uint32_t onKaleidoUpdateHook = 0;
@ -2153,7 +2151,7 @@ void RandomizerRegisterHooks() {
GameInteractor::Instance->UnregisterGameHook<GameInteractor::OnGameFrameUpdate>(onGameFrameUpdateHook);
GameInteractor::Instance->UnregisterGameHook<GameInteractor::OnSceneSpawnActors>(onSceneSpawnActorsHook);
GameInteractor::Instance->UnregisterGameHook<GameInteractor::OnPlayDestroy>(onPlayDestroyHook);
GameInteractor::Instance->UnregisterGameHook<GameInteractor::OnEnemyDefeat>(onEnemyDefeatHook);
GameInteractor::Instance->UnregisterGameHook<GameInteractor::OnEnemyDefeat>(onGoldenSkulltulaDefeatHook);
GameInteractor::Instance->UnregisterGameHook<GameInteractor::OnExitGame>(onExitGameHook);
GameInteractor::Instance->UnregisterGameHook<GameInteractor::OnKaleidoscopeUpdate>(onKaleidoUpdateHook);
@ -2176,7 +2174,7 @@ void RandomizerRegisterHooks() {
onGameFrameUpdateHook = 0;
onSceneSpawnActorsHook = 0;
onPlayDestroyHook = 0;
onEnemyDefeatHook = 0;
onGoldenSkulltulaDefeatHook = 0;
onExitGameHook = 0;
onKaleidoUpdateHook = 0;
@ -2209,7 +2207,7 @@ void RandomizerRegisterHooks() {
onGameFrameUpdateHook = GameInteractor::Instance->RegisterGameHook<GameInteractor::OnGameFrameUpdate>(RandomizerOnGameFrameUpdateHandler);
onSceneSpawnActorsHook = GameInteractor::Instance->RegisterGameHook<GameInteractor::OnSceneSpawnActors>(RandomizerOnSceneSpawnActorsHandler);
onPlayDestroyHook = GameInteractor::Instance->RegisterGameHook<GameInteractor::OnPlayDestroy>(RandomizerOnPlayDestroyHandler);
onEnemyDefeatHook = GameInteractor::Instance->RegisterGameHook<GameInteractor::OnEnemyDefeat>(RandomizerOnEnemyDefeatHandler);
onGoldenSkulltulaDefeatHook = GameInteractor::Instance->RegisterGameHookForID<GameInteractor::OnEnemyDefeat>(ACTOR_EN_SW, RandomizerOnGoldenSkulltulaDefeatHandler);
onPlayDestroyHook = GameInteractor::Instance->RegisterGameHook<GameInteractor::OnExitGame>(RandomizerOnExitGameHandler);
onKaleidoUpdateHook = GameInteractor::Instance->RegisterGameHook<GameInteractor::OnKaleidoscopeUpdate>(RandomizerOnKaleidoscopeUpdateHandler);