From 580b1903716443b38678d009a7e8b429be78920e Mon Sep 17 00:00:00 2001 From: Hat Kid <6624576+Hat-Kid@users.noreply.github.com> Date: Wed, 6 May 2026 04:29:15 +0200 Subject: [PATCH] jak3: fix dark eco vent powerup anim (#4269) Yet another case of the PS2 getting insanely lucky with buggy ND code, the eco vents send an event to Jak to make him go into the powerup state, but do not pass any event arguments which determine what animation to play and at what speed/start frame. For the dark eco vents, PS2 manages to somehow get the correct value of `7`, but we are not so lucky. As a side effect of this fix, we also get the originally intended behavior for the light eco vents of playing the full powerup animation from the start at a slower speed, rather than the much shorter one you see on PS2. Closes #4268 --- goal_src/jak3/engine/common-obs/vent.gc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/goal_src/jak3/engine/common-obs/vent.gc b/goal_src/jak3/engine/common-obs/vent.gc index d8204cf68d..c07d2af1bb 100644 --- a/goal_src/jak3/engine/common-obs/vent.gc +++ b/goal_src/jak3/engine/common-obs/vent.gc @@ -324,7 +324,8 @@ (if (and (time-elapsed? (-> self pickup-time) (seconds 0.1)) (not (logtest? (-> self fact options) (actor-option no-reaction))) ) - (send-event proc 'powerup) + ;; og:preserve-this this was called without any event args + (send-event proc 'powerup (pickup-type eco-pill-light) (-> *FACT-bank* eco-full-inc)) ) (set-time! (-> self pickup-time)) #f @@ -527,7 +528,8 @@ (if (and (time-elapsed? (-> self pickup-time) (seconds 0.1)) (not (logtest? (-> self fact options) (actor-option no-reaction))) ) - (send-event proc 'powerup) + ;; og:preserve-this this was called without any event args + (send-event proc 'powerup (pickup-type eco-pill-dark) (-> *FACT-bank* eco-full-inc)) ) (set-time! (-> self pickup-time)) #f