From c20314cd1bcaefff7bdbce257a25ebcc30cc1cdc Mon Sep 17 00:00:00 2001 From: wedarobi <61944837+wedarobi@users.noreply.github.com> Date: Sun, 26 Jul 2026 09:47:11 +1000 Subject: [PATCH] jinjo saving: Fix jinjo unsynced display state (#310) * jinjo saving: Fix jinjo unsynced display state when entering pause menu after triggering the failsafe * jinjo saving: Can never be too careful Co-authored-by: iCloudius <102083937+Cloudydude@users.noreply.github.com> --------- Co-authored-by: iCloudius <102083937+Cloudydude@users.noreply.github.com> --- patches/jinjo_saving.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/patches/jinjo_saving.c b/patches/jinjo_saving.c index 332b7cf..d350d6b 100644 --- a/patches/jinjo_saving.c +++ b/patches/jinjo_saving.c @@ -45,6 +45,8 @@ typedef struct chjiggy_s } ActorLocal_Jiggy; extern s32 D_80385F30[0x2C]; +extern u8 D_80381E58[5]; + extern u32 gGlobalTimer; extern ActorArray *suBaddieActorArray; extern ActorAnimationInfo chJinjoAnimations[10]; @@ -446,7 +448,7 @@ static void jinjo_collision(ActorMarker *this, ActorMarker *other) RECOMP_PATCH void chJinjo_update(Actor *this) { - if (!this->initialized && jinjo_saving_enabled_cached && jinjo_saving_is_allowed_by_volatileFlags()) + if (!this->initialized && jinjo_saving_enabled_cached && jinjo_saving_is_allowed_by_volatileFlags() && !recomp_in_demo_playback_game_mode()) { // Check if this jinjo has already been marked as collected before even being born (loaded) @@ -510,6 +512,10 @@ void chJinjo_update(Actor *this) */ SavedJinjo_ensure_all_marked_collected_for_level(levelIdx); D_80385F30[ITEM_12_JINJOS] = 0b11111; + + // Update icon state in HUD + for (u32 i = 0; i < 5; i++) + D_80381E58[i] = 3; } else {