jak3: fix robo-hover hand cannon nans (#3584)
Some checks failed
Build / 🖥️ Windows (push) Waiting to run
Build / 🐧 Linux (push) Waiting to run
Build / 🍎 MacOS (push) Waiting to run
Lint / 📝 Formatting (push) Waiting to run
Lint / 📝 Required Checks (push) Waiting to run
Lint / 📝 Optional Checks (push) Waiting to run
Inform Pages Repo / Generate Documentation (push) Has been cancelled

Fixes #3583.

The callback function for the hand cannon joint mods was initialized
prior to calling `ja-post`, propagating NaNs.
This commit is contained in:
Hat Kid 2024-07-15 16:28:28 +02:00 committed by GitHub
parent b8f1ee5289
commit 1c170b741c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1676,16 +1676,17 @@
(set! (-> this root dynam gravity y) 327680.0)
(set! (-> this root dynam gravity-length) 327680.0)
(set! (-> this root dynam gravity-max) 327680.0)
(let ((a0-7 (-> this node-list data 10)))
(set! (-> a0-7 param0) robo-hover-arm-jmod)
(set! (-> a0-7 param1) this)
(set! (-> a0-7 param2) (the-as basic 0))
)
(let ((v1-23 (-> this node-list data 14)))
(set! (-> v1-23 param0) robo-hover-arm-jmod)
(set! (-> v1-23 param1) this)
(set! (-> v1-23 param2) (the-as basic 1))
)
;; og:preserve-this moved to after ja-post
; (let ((a0-7 (-> this node-list data 10)))
; (set! (-> a0-7 param0) robo-hover-arm-jmod)
; (set! (-> a0-7 param1) this)
; (set! (-> a0-7 param2) (the-as basic 0))
; )
; (let ((v1-23 (-> this node-list data 14)))
; (set! (-> v1-23 param0) robo-hover-arm-jmod)
; (set! (-> v1-23 param1) this)
; (set! (-> v1-23 param2) (the-as basic 1))
; )
(logior! (-> this mask) (process-mask kg-robot))
(logclear! (-> this mask) (process-mask actor-pause))
(logclear! (-> this enemy-flags) (enemy-flag actor-pause-backup))
@ -1756,6 +1757,17 @@
(joint-control-channel-group! a0-42 (the-as art-joint-anim (-> this draw art-group data 9)) num-func-identity)
)
(ja-post)
;; og:preserve-this
(let ((a0-7 (-> this node-list data 10)))
(set! (-> a0-7 param0) robo-hover-arm-jmod)
(set! (-> a0-7 param1) this)
(set! (-> a0-7 param2) (the-as basic 0))
)
(let ((v1-23 (-> this node-list data 14)))
(set! (-> v1-23 param0) robo-hover-arm-jmod)
(set! (-> v1-23 param1) this)
(set! (-> v1-23 param2) (the-as basic 1))
)
(quaternion-from-two-vectors!
(the-as quaternion (-> this wrist-quat))
(vector-normalize-copy! (new 'stack-no-clear 'vector) (-> this node-list data 14 bone transform uvec) 1.0)