Hookify DropsDontDie, NoFishDespawn, NoBugsDespawn (#6513)

This commit is contained in:
Philip Dubé
2026-04-17 03:50:17 +00:00
committed by GitHub
parent 27d35e5a92
commit aedae12e63
7 changed files with 72 additions and 21 deletions
+1 -5
View File
@@ -3,7 +3,6 @@
#include "objects/gameplay_keep/gameplay_keep.h"
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
#include "textures/icon_item_static/icon_item_static.h"
#include "soh/Enhancements/game-interactor/GameInteractor.h"
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
#include "soh/OTRGlobals.h"
@@ -781,11 +780,8 @@ void EnItem00_Update(Actor* thisx, PlayState* play) {
}
}
if (this->unk_15A > 0) {
if (GameInteractor_Should(VB_ITEM00_TIMER_TICK, this->unk_15A > 0, this)) {
this->unk_15A--;
if (CVarGetInteger(CVAR_CHEAT("DropsDontDie"), 0) && (this->unk_154 <= 0)) {
this->unk_15A++;
}
}
if ((this->unk_15A > 0) && (this->unk_15A < 41) && (this->unk_154 <= 0)) {
@@ -8,6 +8,7 @@
#include "objects/gameplay_keep/gameplay_keep.h"
#include "vt.h"
#include "soh/ResourceManagerHelpers.h"
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
#define FLAGS 0
@@ -679,7 +680,7 @@ void EnFish_UpdateCutscene(EnFish* this, PlayState* play) {
// Update functions and Draw
void EnFish_OrdinaryUpdate(EnFish* this, PlayState* play) {
if (this->timer > 0 && CVarGetInteger(CVAR_CHEAT("NoFishDespawn"), 0) == 0) {
if (GameInteractor_Should(VB_FISH_TIMER_TICK, this->timer > 0)) {
this->timer--;
}
@@ -212,13 +212,6 @@ void EnInsect_Init(Actor* thisx, PlayState* play2) {
func_80A7D39C(this);
// For bugs that aren't linked to a soil patch, we remove the "short lived" flag to prevent them from despawning
// And exit early to not increment the "bugs dropped count"
if (CVarGetInteger(CVAR_CHEAT("NoBugsDespawn"), 0) && this->soilActor == NULL) {
this->insectFlags &= ~4;
return;
}
D_80A7DEB8++;
} else {
rand = Rand_ZeroOne();