diff --git a/goal_src/jak2/levels/dig/dig-obs.gc b/goal_src/jak2/levels/dig/dig-obs.gc index 930d65a0fe..247b689d16 100644 --- a/goal_src/jak2/levels/dig/dig-obs.gc +++ b/goal_src/jak2/levels/dig/dig-obs.gc @@ -651,7 +651,7 @@ ;; WARN: Return type mismatch object vs none. (defmethod init-from-entity! dig-log ((obj dig-log) (arg0 entity-actor)) - (local-vars (r0-0 uint128) (a0-11 object) (a1-8 uint128) (sv-16 int)) + (local-vars (sv-16 res-tag)) (set! (-> obj hud-handle) (the-as handle #f)) (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)))) (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) @@ -680,28 +680,9 @@ ) (set! (-> obj pressed-count) 0) (set! (-> obj total-buttons) 0) - (set! sv-16 0) - (let ((v1-19 - (res-lump-data - (-> obj entity) - 'actor-groups - (pointer actor-group) - :tag-ptr (the-as (pointer res-tag) (& sv-16)) - ) - ) - ) - (when (and v1-19 (begin - (let ((a0-12 #t)) - (let ((a1-7 (the-as uint128 sv-16))) - (.pcpyud a1-8 a1-7 r0-0) - ) - (let ((a1-10 (the-as int (shr (* (the-as int a1-8) 2) 49)))) - (cmove-#f-zero a0-11 a1-10 a0-12) - ) - ) - a0-11 - ) - ) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-19 (res-lump-data (-> obj entity) 'actor-groups (pointer actor-group) :tag-ptr (& sv-16)))) + (when (and v1-19 (nonzero? (-> sv-16 elt-count))) (let ((s5-2 (-> v1-19 0))) (countdown (s4-2 (-> s5-2 length)) (let ((s3-1 (-> s5-2 data s4-2 actor)))