jak3: misc high fps fixes (#4055)

Fixes for:

- `prebot` sword attack and projectile speed (fixes #4050)
- Fast first person camera turning speed (fixes #4051)
- Slow turret camera turning speed (fixes #4052)
- `flyingsaw` movement and rotation speed (fixes #4053)
- Green eco drain rate on jetboard during `forest-kill-plants` mission
(fixes #4054)
- `skeet` rotation speed
- `maker-grenade` tumble speed
- Jetboard spin speed
- `hud-skill` rotation speed (also for jak2)
- `gun-dark-shot` projectile speed (also for jak2)
- `target-float` up/down speed (also for jak2)
- Texscroll speed
- Slow walk anim after landing from a jump
This commit is contained in:
Hat Kid 2025-10-17 14:28:22 +02:00 committed by GitHub
parent 4299b7d3fb
commit 73dd982fdc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
27 changed files with 259 additions and 221 deletions

View File

@ -47660,7 +47660,7 @@
(target-turret-method-43 (_type_) none) ;; 43
(target-turret-method-44 (_type_) none) ;; 44
(target-turret-method-45 (_type_) none) ;; 45
(target-turret-method-46 (_type_ quaternion) none) ;; 46
(target-turret-method-46 (_type_ float) none) ;; 46
(target-turret-method-47 (_type_) none) ;; 47
(target-turret-method-48 (_type_ vector) symbol) ;; 48
(target-turret-method-49 (_type_ vector vector float) float) ;; 49

View File

@ -2464,5 +2464,6 @@
"texture-anim": [
["L198", "(pointer uint8)", 16],
["L197", "(pointer uint16)", 48]
]
],
"game-task": [["L18", "(array game-task-node-command)"]]
}

View File

@ -372,7 +372,8 @@
)
)
(vector-normalize! (-> self spin-vector) f30-0)
(vector-normalize! (-> self core-velocity) 7372.8)
;; og:preserve-this changed for high fps
(vector-normalize! (-> self core-velocity) (* DISPLAY_FPS_RATIO (meters 1.8)))
(set! (-> s5-0 vector 2 quad) (-> s4-0 quad))
(set! (-> s5-0 vector 1 quad) (-> self spin-vector quad))
(vector-float*! (-> s5-0 vector 1) (-> s5-0 vector 1) (/ 1.0 f30-0))

View File

@ -1531,7 +1531,8 @@
(vector-! v1-14 a1-0 (vector-float*! v1-14 (-> self control dynam gravity-normal) f0-1))
(let* ((f1-2 (vector-length v1-14))
(f2-0 f1-2)
(f0-2 (+ 512.0 f0-1))
;; og:preserve-this changed for high fps
(f0-2 (+ (* DISPLAY_FPS_RATIO 512.0) f0-1))
)
(vector+!
a1-0
@ -1553,7 +1554,8 @@
(vector-! v1-29 a1-1 (vector-float*! v1-29 (-> self control dynam gravity-normal) f0-5))
(let* ((f1-5 (vector-length v1-29))
(f2-1 f1-5)
(f0-6 (+ -512.0 f0-5))
;; og:preserve-this changed for high fps
(f0-6 (+ (* DISPLAY_FPS_RATIO -512.0) f0-5))
)
(vector+!
a1-1

View File

@ -506,7 +506,8 @@
(set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (the-as vector4w (-> this icons 0 pos)) 0 -5)
(when (not (paused?))
(let ((s5-1 (new 'stack-no-clear 'quaternion)))
(quaternion-axis-angle! s5-1 0.0 1.0 0.0 364.0889)
;; og:preserve-this changed for high fps
(quaternion-axis-angle! s5-1 0.0 1.0 0.0 (* DISPLAY_FPS_RATIO 364.0889))
(quaternion*! (-> this icons 0 icon 0 root quat) s5-1 (-> this icons 0 icon 0 root quat))
)
)

View File

@ -510,6 +510,8 @@
(when (not (paused?))
(let ((s4-0 (vector-reset! (new-stack-vector0)))
(s5-0 (new-stack-matrix0))
;; og:preserve-this added for high fps
(rot-speed (* DISPLAY_FPS_RATIO (-> *CAM_EYE-bank* rot-speed)))
)
(when (not (logtest? (-> *camera* settings master-options) (cam-master-options IGNORE_ANALOG)))
(let ((f30-0 (analog-input
@ -532,24 +534,27 @@
(if (-> *camera* settings flip-vertical)
(set! f0-0 (- f0-0))
)
(set! (-> s4-0 y) (- (-> s4-0 y) (* (- f30-0) (-> *CAM_EYE-bank* rot-speed))))
(set! (-> s4-0 x) (- (-> s4-0 x) (* (- f0-0) (-> *CAM_EYE-bank* rot-speed))))
;; og:preserve-this changed for high fps
(set! (-> s4-0 y) (- (-> s4-0 y) (* (- f30-0) rot-speed)))
(set! (-> s4-0 x) (- (-> s4-0 x) (* (- f0-0) rot-speed)))
)
)
(cond
((< (-> *CAM_EYE-bank* rot-speed) (-> s4-0 x))
(set! (-> s4-0 x) (-> *CAM_EYE-bank* rot-speed))
;; og:preserve-this changed for high fps
((< rot-speed (-> s4-0 x))
(set! (-> s4-0 x) rot-speed)
)
((< (-> s4-0 x) (- (-> *CAM_EYE-bank* rot-speed)))
(set! (-> s4-0 x) (- (-> *CAM_EYE-bank* rot-speed)))
((< (-> s4-0 x) (- rot-speed))
(set! (-> s4-0 x) (- rot-speed))
)
)
(cond
((< (-> *CAM_EYE-bank* rot-speed) (-> s4-0 y))
(set! (-> s4-0 y) (-> *CAM_EYE-bank* rot-speed))
;; og:preserve-this changed for high fps
((< rot-speed (-> s4-0 y))
(set! (-> s4-0 y) rot-speed)
)
((< (-> s4-0 y) (- (-> *CAM_EYE-bank* rot-speed)))
(set! (-> s4-0 y) (- (-> *CAM_EYE-bank* rot-speed)))
((< (-> s4-0 y) (- rot-speed))
(set! (-> s4-0 y) (- rot-speed))
)
)
(cond

View File

@ -4208,11 +4208,10 @@
:user-count 3
)
:borrow '()
:open? (lambda ()
(or (not (task-node-closed? (game-task-node wascity-defend-get-to)))
(task-node-closed? (game-task-node wascity-defend-resolution))
)
)
:open? (lambda () (or (not (task-node-closed? (game-task-node wascity-defend-get-to)))
(task-node-closed? (game-task-node wascity-defend-resolution))
)
)
:on-close #f
:reset (new 'static 'task-reset-info
:restart-info #f
@ -23356,85 +23355,83 @@
)
)
(set! (-> game-info mission-list) (new 'global 'boxed-array game-task-node-info 410))
(set! (-> game-info task-node-commands)
(the-as (array game-task-node-command) (new 'static 'boxed-array :type uint8
#x48
#x20
#x1f
#x1
#x5
#x23
#x22
#x19
#x36
#xa
#x3a
#x41
#x48
#x32
#x39
#x3f
#x3a
#x8
#x6
#x37
#xd
#xb
#x3e
#x3a
#x39
#xf
#x40
#x31
#x28
#x27
#x26
#x2f
#x2d
#x3
#x3b
#x29
#x2a
#x33
#x12
#x10
#x1b
#xe
#xc
#x21
#x1a
#x2e
#x34
#x30
#x13
#x11
#x1c
#x9
#x7
#x14
#x1d
#x3c
#x43
#x39
#x44
#x46
#x45
#x39
#x17
#x15
#x2b
#x47
#x38
#x35
#x18
#x16
#x3a
#x1e
#x42
#x4
#x3
)
)
(set! (-> game-info task-node-commands) (new 'static 'boxed-array :type game-task-node-command
(game-task-node-command add-jakc)
(game-task-node-command add-darkjak)
(game-task-node-command add-darkeco)
(game-task-node-command add-sidekick)
(game-task-node-command add-gun-red-1)
(game-task-node-command add-darkjak-bomb1)
(game-task-node-command add-darkjak-bomb0)
(game-task-node-command add-pass-front-gate)
(game-task-node-command add-amulet-1)
(game-task-node-command add-gun-yellow-1)
(game-task-node-command add-dark-eco-crystal)
(game-task-node-command add-vehicle-turtle)
(game-task-node-command add-jakc)
(game-task-node-command add-armor-0)
(game-task-node-command add-light-eco-crystal)
(game-task-node-command add-vehicle-snake)
(game-task-node-command add-dark-eco-crystal)
(game-task-node-command add-gun-red-ammo-1)
(game-task-node-command add-gun-red-2)
(game-task-node-command add-amulet-2)
(game-task-node-command add-gun-yellow-ammo-1)
(game-task-node-command add-gun-yellow-2)
(game-task-node-command add-vehicle-toad)
(game-task-node-command add-dark-eco-crystal)
(game-task-node-command add-light-eco-crystal)
(game-task-node-command add-gun-blue-1)
(game-task-node-command add-vehicle-scorpion)
(game-task-node-command add-artifact-invis)
(game-task-node-command add-lightjak-regen)
(game-task-node-command add-lightjak)
(game-task-node-command add-lighteco)
(game-task-node-command add-board-zap)
(game-task-node-command add-board-launch)
(game-task-node-command add-board)
(game-task-node-command add-seal)
(game-task-node-command add-lightjak-freeze)
(game-task-node-command add-lightjak-shield)
(game-task-node-command add-armor-1)
(game-task-node-command add-gun-blue-ammo-1)
(game-task-node-command add-gun-blue-2)
(game-task-node-command add-pass-port-inda)
(game-task-node-command add-gun-yellow-ammo-2)
(game-task-node-command add-gun-yellow-3)
(game-task-node-command add-darkjak-smack)
(game-task-node-command add-pass-port-mh)
(game-task-node-command add-board-trail)
(game-task-node-command add-armor-2)
(game-task-node-command sub-board-trail)
(game-task-node-command add-gun-blue-ammo-2)
(game-task-node-command add-gun-blue-3)
(game-task-node-command add-pass-inda-indb)
(game-task-node-command add-gun-red-ammo-2)
(game-task-node-command add-gun-red-3)
(game-task-node-command add-gun-dark-1)
(game-task-node-command add-pass-indb-sluma)
(game-task-node-command add-cypher-gliph)
(game-task-node-command add-av-cube)
(game-task-node-command add-light-eco-crystal)
(game-task-node-command add-av-reflector)
(game-task-node-command add-av-generator)
(game-task-node-command add-av-prism)
(game-task-node-command add-light-eco-crystal)
(game-task-node-command add-gun-dark-ammo-1)
(game-task-node-command add-gun-dark-2)
(game-task-node-command add-lightjak-swoop)
(game-task-node-command add-av-map)
(game-task-node-command add-amulet-3)
(game-task-node-command add-armor-3)
(game-task-node-command add-gun-dark-ammo-2)
(game-task-node-command add-gun-dark-3)
(game-task-node-command add-dark-eco-crystal)
(game-task-node-command add-pass-slumb-genb)
(game-task-node-command add-vehicle-rhino)
(game-task-node-command sub-board)
(game-task-node-command add-board)
)
)
(dotimes (v1-4 (-> game-info sub-task-list length))
(if (-> game-info sub-task-list v1-4 manager)

View File

@ -571,7 +571,8 @@
)
)
(when (< v1-1 32)
(let* ((a3-1 (the-as int (-> pp clock integral-frame-counter)))
;; og:preserve-this changed for high fps
(let* ((a3-1 (the int (* DISPLAY_FPS_RATIO (-> pp clock integral-frame-counter))))
(a2-3 (-> a1-1 time-factor))
(t0-2 (+ (ash 1 a2-3) -1))
)

View File

@ -93,7 +93,7 @@
(dotimes (i 10)
(suspend)
)
(true! *display-profile*)
;; (true! *display-profile*)
;; (true! *stats-profile-bars*)
;; (true! *display-actor-marks*)
;; (true! *display-bones*)

View File

@ -167,7 +167,8 @@
(if (not (-> self control danger-mode))
(target-danger-set! 'board-spin #f)
)
(+! (-> self board rotyv) (* (-> self board spin-control) (seconds-per-frame)))
;; og:preserve-this changed for high fps
(+! (-> self board rotyv) (* (-> self board spin-control) (seconds-per-frame-high-fps)))
(when (and (< (fabs f28-0) 1092266.6)
(< (fabs (-> self board spin-control)) 1092266.6)
(< (* 0.9 (fabs (-> self board flip-control))) (fabs f30-0))

View File

@ -1255,7 +1255,8 @@
(< 0.0 (-> self fact eco-green))
)
(target-board-green-eco-attack #f)
(target-board-green-eco-use 0.075)
;; og:preserve-this changed for high fps
(target-board-green-eco-use (* DISPLAY_FPS_RATIO 0.075))
)
0
(none)

View File

@ -1658,7 +1658,8 @@
)
(let ((f30-1 (/ f30-0 2)))
(vector-normalize! (-> self spin-vector) f30-1)
(vector-normalize! (-> self core-velocity) 7372.8)
;; og:preserve-this changed for high fps
(vector-normalize! (-> self core-velocity) (* DISPLAY_FPS_RATIO (meters 1.8)))
(vector-copy! (-> s5-0 fvec) s4-0)
(vector-copy! (-> s5-0 uvec) (-> self spin-vector))
(vector-float*! (-> s5-0 uvec) (-> s5-0 uvec) (/ 1.0 f30-1))

View File

@ -982,7 +982,8 @@
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek! max (/ (* (fmax 20480.0 (-> self control ctrl-xz-vel)) (seconds-per-frame))
;; og:preserve-this changed for high fps
(ja :num! (seek! max (/ (* (fmax 20480.0 (-> self control ctrl-xz-vel)) (seconds-per-frame-high-fps))
(/ (-> *TARGET-bank* run-up-cycle-dist) (-> *TARGET-bank* run-cycle-length))
)
)

View File

@ -403,7 +403,7 @@
(target-turret-method-43 (_type_) none)
(target-turret-method-44 (_type_) none)
(target-turret-method-45 (_type_) none)
(target-turret-method-46 (_type_ quaternion) none)
(target-turret-method-46 (_type_ float) none)
(target-turret-method-47 (_type_) none)
(target-turret-method-48 (_type_ vector) symbol)
(target-turret-method-49 (_type_ vector vector float) float)
@ -478,7 +478,7 @@
(none)
)
(defmethod target-turret-method-46 ((this target-turret) (arg0 quaternion))
(defmethod target-turret-method-46 ((this target-turret) (arg0 float))
(let ((s3-0 (new 'stack-no-clear 'matrix))
(s4-0 (new 'stack-no-clear 'matrix))
(gp-0 (new 'stack-no-clear 'quaternion))
@ -487,7 +487,7 @@
(matrix-rotate-x! s4-0 (-> this rotx))
(matrix*! s3-0 s4-0 s3-0)
(matrix->quaternion gp-0 s3-0)
(quaternion-smooth-seek! (-> this target-quat) (-> this target-quat) gp-0 (the-as float arg0))
(quaternion-smooth-seek! (-> this target-quat) (-> this target-quat) gp-0 arg0)
(let ((f30-0 (update! (-> this smush-control))))
(update! (-> this fire-recoil))
(quaternion-rotate-local-x! (-> this root quat) gp-0 (* -910.2222 f30-0))
@ -534,13 +534,15 @@
)
)
)
(+! (-> this rotyv) (* (-> this rotyvv) (seconds-per-frame)))
;; og:preserve-this changed for high fps
(+! (-> this rotyv) (* (-> this rotyvv) (seconds-per-frame-high-fps)))
(set! (-> this rotyv) (* (-> this rotyv) (-> s5-0 roty-friction)))
(set! (-> this rotyv) (fmax (fmin (-> this rotyv) (-> s5-0 rotyv-max)) (- (-> s5-0 rotyv-max))))
(set! (-> this roty)
(the float (sar (shl (the int (+ (-> this roty) (* (-> this rotyv) (seconds-per-frame)))) 48) 48))
)
(+! (-> this rotxv) (* (-> this rotxvv) (seconds-per-frame)))
;; og:preserve-this changed for high fps
(+! (-> this rotxv) (* (-> this rotxvv) (seconds-per-frame-high-fps)))
(set! (-> this rotxv) (* (-> this rotxv) (-> s5-0 rotx-friction)))
(set! (-> this rotxv) (fmax (fmin (-> this rotxv) (-> s5-0 rotxv-max)) (- (-> s5-0 rotxv-max))))
)
@ -784,7 +786,7 @@
:code sleep-code
:post (behavior ()
(target-turret-method-47 self)
(target-turret-method-46 self (the-as quaternion #x3ea8f5c3))
(target-turret-method-46 self 0.33)
(target-turret-method-55 self)
(target-turret-method-44 self)
(transform-post)
@ -898,7 +900,7 @@
)
)
(target-turret-method-47 self)
(target-turret-method-46 self (the-as quaternion #x3ea8f5c3))
(target-turret-method-46 self 0.33)
(target-turret-method-54 self)
(target-turret-method-55 self)
((the-as (function none) target-turret-active-post))
@ -949,7 +951,7 @@
:code sleep-code
:post (behavior ()
(target-turret-method-47 self)
(target-turret-method-46 self (the-as quaternion #x3ea8f5c3))
(target-turret-method-46 self 0.33)
(target-turret-method-55 self)
(if *target*
(look-at!
@ -1376,7 +1378,7 @@
(set! (-> this focus-ignore-timer) 0)
(target-turret-method-50 this)
(init-fields! this)
(target-turret-method-46 this (the-as quaternion #x3f800000))
(target-turret-method-46 this 1.0)
(quaternion-copy! (-> this init-quat) (-> this root quat))
(target-turret-method-38 this)
)

View File

@ -1869,7 +1869,8 @@
(vector-! v1-14 a1-0 (vector-float*! v1-14 (-> self control dynam gravity-normal) f0-1))
(let* ((f1-2 (vector-length v1-14))
(f2-0 f1-2)
(f0-2 (+ 512.0 f0-1))
;; og:preserve-this changed for high fps
(f0-2 (+ (* DISPLAY_FPS_RATIO 512.0) f0-1))
)
(vector+!
a1-0
@ -1891,7 +1892,8 @@
(vector-! v1-29 a1-1 (vector-float*! v1-29 (-> self control dynam gravity-normal) f0-5))
(let* ((f1-5 (vector-length v1-29))
(f2-1 f1-5)
(f0-6 (+ -512.0 f0-5))
;; og:preserve-this changed for high fps
(f0-6 (+ (* DISPLAY_FPS_RATIO -512.0) f0-5))
)
(vector+!
a1-1

View File

@ -373,7 +373,8 @@
(set-as-offset-from! (the-as hud-sprite (-> this strings 0 pos)) (-> this icons 0 pos) 0 -5)
(when (not (paused?))
(let ((s5-1 (new 'stack-no-clear 'quaternion)))
(quaternion-axis-angle! s5-1 0.0 1.0 0.0 364.0889)
;; og:preserve-this changed for high fps
(quaternion-axis-angle! s5-1 0.0 1.0 0.0 (* DISPLAY_FPS_RATIO 364.0889))
(quaternion*! (-> this icons 0 icon 0 root quat) s5-1 (-> this icons 0 icon 0 root quat))
)
)

View File

@ -1212,7 +1212,7 @@
#f
)
(defmethod target-turret-method-46 ((this for-turret) (arg0 quaternion))
(defmethod target-turret-method-46 ((this for-turret) (arg0 float))
0
(none)
)

View File

@ -840,7 +840,8 @@
(vector-copy! (-> gp-0 vel) (vector-normalize-copy!
(new 'stack-no-clear 'vector)
(-> self node-list data 7 bone transform uvec)
(* 4096.0 (-> self clock frames-per-second))
;; og:preserve-this changed for high fps
(* (meters 1) (fmin 60.0 (-> self clock frames-per-second)))
)
)
(set! (-> gp-0 notify-handle) (the-as handle #f))

View File

@ -1046,7 +1046,8 @@
)
(logior! (-> this mask) (process-mask enemy))
(vector-copy! (-> this original-position) (-> this root trans))
(init (-> this position) (-> this original-position) 0.004096 2048.0 0.125)
;; og:preserve-this changed for high fps
(init (-> this position) (-> this original-position) 0.004096 (* DISPLAY_FPS_RATIO 2048.0) 0.125)
(set! (-> this draw light-index) (the-as uint 10))
(dotimes (v1-64 28)
(set! (-> this critters v1-64) (the-as handle #f))

View File

@ -1434,6 +1434,8 @@
(set! (-> self position max-vel) 2457.6)
)
)
;; og:preserve-this added for high fps
(*! (-> self position max-vel) DISPLAY_FPS_RATIO)
(set! (-> self position accel) 409.6)
(set! (-> self position max-partial) 0.99)
(dotimes (gp-0 2)
@ -1444,7 +1446,8 @@
:exit (behavior ()
(prebot-method-45 self)
(set! (-> self position accel) 0.004096)
(set! (-> self position max-vel) 2048.0)
;; og:preserve-this changed for high fps
(set! (-> self position max-vel) (* DISPLAY_FPS_RATIO 2048.0))
(set! (-> self position max-partial) 0.125)
(dotimes (gp-0 2)
(send-event (handle->process (-> self swords gp-0)) 'scale #x3f800000)

View File

@ -277,7 +277,8 @@
(f0-2 (vector-length v1-36))
)
(if (< 1228.8 f0-2)
(vector+float*! (-> self root trans) (-> self root trans) v1-36 (/ 1228.8 f0-2))
;; og:preserve-this changed for high fps
(vector+float*! (-> self root trans) (-> self root trans) v1-36 (* DISPLAY_FPS_RATIO (/ 1228.8 f0-2)))
(vector-copy! (-> self root trans) (-> gp-0 position))
)
)
@ -306,12 +307,14 @@
(vector-normalize! s5-4 1.0)
(quaternion-from-two-vectors! gp-3 (new 'static 'vector :y 1.0) s5-4)
(quaternion-normalize! (quaternion*! (-> self root quat) gp-3 (-> self base-quat)))
(+! (-> self blade-angle) 8082.7734)
;; og:preserve-this changed for high fps
(+! (-> self blade-angle) (* DISPLAY_FPS_RATIO 8082.7734))
(quaternion-axis-angle! (-> self spin-2 quat) 0.0 1.0 0.0 (-> self blade-angle))
(quaternion-normalize! (quaternion*! (-> self spin-2 quat) gp-3 (-> self spin-2 quat)))
(quaternion-copy! (-> self spin-3 quat) (-> self spin-2 quat))
(quaternion-copy! (-> self spin-4 quat) (-> self spin-2 quat))
(+! (-> self hip-angle) 1747.6267)
;; og:preserve-this changed for high fps
(+! (-> self hip-angle) (* DISPLAY_FPS_RATIO 1747.6267))
(quaternion-axis-angle! (-> self spin-1 quat) 0.0 1.0 0.0 (-> self hip-angle))
(quaternion-normalize! (quaternion*! (-> self spin-1 quat) gp-3 (-> self spin-1 quat)))
)

View File

@ -847,7 +847,8 @@
)
(rand-vu-sphere-point-uniform! s5-1 1.0)
(vector-normalize! s5-1 1.0)
(quaternion-axis-angle! (-> this tumble-quat) (-> s5-1 x) (-> s5-1 y) (-> s5-1 z) f30-1)
;; og:preserve-this changed for high fps
(quaternion-axis-angle! (-> this tumble-quat) (-> s5-1 x) (-> s5-1 y) (-> s5-1 z) (* DISPLAY_FPS_RATIO f30-1))
)
(set! (-> this draw lod-set lod 0 dist) 696320.0)
(set! (-> this draw lod-set lod 1 dist) 7372800.0)

View File

@ -425,7 +425,8 @@
(if (>= 182.04445 (fabs (deg-diff (-> this roty) (-> this dest-roty))))
(set! (-> this reset-facing) #f)
)
(+! (-> this rotyv) (* (-> this speed-mult) (-> this rotyvv) (seconds-per-frame)))
;; og:preserve-this changed for high fps
(+! (-> this rotyv) (* (-> this speed-mult) (-> this rotyvv) (seconds-per-frame-high-fps)))
(set! (-> this rotyv) (* (-> this rotyv) (-> s5-0 roty-friction)))
(set! (-> this rotyv) (fmax (fmin (-> this rotyv) (-> s5-0 rotyv-max)) (- (-> s5-0 rotyv-max))))
(set! (-> this roty)
@ -433,7 +434,8 @@
(sar (shl (the int (+ (-> this roty) (* (-> this speed-mult) (-> this rotyv) (seconds-per-frame)))) 48) 48)
)
)
(+! (-> this rotxv) (* (-> this speed-mult) (-> this rotxvv) (seconds-per-frame)))
;; og:preserve-this changed for high fps
(+! (-> this rotxv) (* (-> this speed-mult) (-> this rotxvv) (seconds-per-frame-high-fps)))
(set! (-> this rotxv) (* (-> this rotxv) (-> s5-0 rotx-friction)))
(set! (-> this rotxv) (fmax (fmin (-> this rotxv) (-> s5-0 rotxv-max)) (- (-> s5-0 rotxv-max))))
)

View File

@ -1310,7 +1310,8 @@
(vector+! (-> self root trans) (-> self root trans) gp-0)
)
(wascity-turret-add-radar (-> self root trans))
(quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (-> self rot-vel))
;; og:preserve-this changed for high fps
(quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (* DISPLAY_FPS_RATIO (-> self rot-vel)))
(+! (-> self rot-vel) (* (-> self rot-acc) (seconds-per-frame)))
(set! (-> self rot-vel) (fmax -5461.3335 (fmin 5461.3335 (-> self rot-vel))))
(let ((gp-1 (the-as task-manager-wascity-gungame (handle->process (-> self mgr)))))

View File

@ -4203,11 +4203,10 @@
:user-count 3
)
:borrow '()
:open? (lambda ()
(or (not (task-node-closed? (game-task-node wascity-defend-get-to)))
(task-node-closed? (game-task-node wascity-defend-resolution))
)
)
:open? (lambda () (or (not (task-node-closed? (game-task-node wascity-defend-get-to)))
(task-node-closed? (game-task-node wascity-defend-resolution))
)
)
:on-close #f
:reset (new 'static 'task-reset-info
:restart-info #f
@ -23351,85 +23350,83 @@
)
)
(set! (-> game-info mission-list) (new 'global 'boxed-array game-task-node-info 410))
(set! (-> game-info task-node-commands)
(the-as (array game-task-node-command) (new 'static 'boxed-array :type uint8
#x48
#x20
#x1f
#x1
#x5
#x23
#x22
#x19
#x36
#xa
#x3a
#x41
#x48
#x32
#x39
#x3f
#x3a
#x8
#x6
#x37
#xd
#xb
#x3e
#x3a
#x39
#xf
#x40
#x31
#x28
#x27
#x26
#x2f
#x2d
#x3
#x3b
#x29
#x2a
#x33
#x12
#x10
#x1b
#xe
#xc
#x21
#x1a
#x2e
#x34
#x30
#x13
#x11
#x1c
#x9
#x7
#x14
#x1d
#x3c
#x43
#x39
#x44
#x46
#x45
#x39
#x17
#x15
#x2b
#x47
#x38
#x35
#x18
#x16
#x3a
#x1e
#x42
#x4
#x3
)
)
(set! (-> game-info task-node-commands) (new 'static 'boxed-array :type game-task-node-command
(game-task-node-command add-jakc)
(game-task-node-command add-darkjak)
(game-task-node-command add-darkeco)
(game-task-node-command add-sidekick)
(game-task-node-command add-gun-red-1)
(game-task-node-command add-darkjak-bomb1)
(game-task-node-command add-darkjak-bomb0)
(game-task-node-command add-pass-front-gate)
(game-task-node-command add-amulet-1)
(game-task-node-command add-gun-yellow-1)
(game-task-node-command add-dark-eco-crystal)
(game-task-node-command add-vehicle-turtle)
(game-task-node-command add-jakc)
(game-task-node-command add-armor-0)
(game-task-node-command add-light-eco-crystal)
(game-task-node-command add-vehicle-snake)
(game-task-node-command add-dark-eco-crystal)
(game-task-node-command add-gun-red-ammo-1)
(game-task-node-command add-gun-red-2)
(game-task-node-command add-amulet-2)
(game-task-node-command add-gun-yellow-ammo-1)
(game-task-node-command add-gun-yellow-2)
(game-task-node-command add-vehicle-toad)
(game-task-node-command add-dark-eco-crystal)
(game-task-node-command add-light-eco-crystal)
(game-task-node-command add-gun-blue-1)
(game-task-node-command add-vehicle-scorpion)
(game-task-node-command add-artifact-invis)
(game-task-node-command add-lightjak-regen)
(game-task-node-command add-lightjak)
(game-task-node-command add-lighteco)
(game-task-node-command add-board-zap)
(game-task-node-command add-board-launch)
(game-task-node-command add-board)
(game-task-node-command add-seal)
(game-task-node-command add-lightjak-freeze)
(game-task-node-command add-lightjak-shield)
(game-task-node-command add-armor-1)
(game-task-node-command add-gun-blue-ammo-1)
(game-task-node-command add-gun-blue-2)
(game-task-node-command add-pass-port-inda)
(game-task-node-command add-gun-yellow-ammo-2)
(game-task-node-command add-gun-yellow-3)
(game-task-node-command add-darkjak-smack)
(game-task-node-command add-pass-port-mh)
(game-task-node-command add-board-trail)
(game-task-node-command add-armor-2)
(game-task-node-command sub-board-trail)
(game-task-node-command add-gun-blue-ammo-2)
(game-task-node-command add-gun-blue-3)
(game-task-node-command add-pass-inda-indb)
(game-task-node-command add-gun-red-ammo-2)
(game-task-node-command add-gun-red-3)
(game-task-node-command add-gun-dark-1)
(game-task-node-command add-pass-indb-sluma)
(game-task-node-command add-cypher-gliph)
(game-task-node-command add-av-cube)
(game-task-node-command add-light-eco-crystal)
(game-task-node-command add-av-reflector)
(game-task-node-command add-av-generator)
(game-task-node-command add-av-prism)
(game-task-node-command add-light-eco-crystal)
(game-task-node-command add-gun-dark-ammo-1)
(game-task-node-command add-gun-dark-2)
(game-task-node-command add-lightjak-swoop)
(game-task-node-command add-av-map)
(game-task-node-command add-amulet-3)
(game-task-node-command add-armor-3)
(game-task-node-command add-gun-dark-ammo-2)
(game-task-node-command add-gun-dark-3)
(game-task-node-command add-dark-eco-crystal)
(game-task-node-command add-pass-slumb-genb)
(game-task-node-command add-vehicle-rhino)
(game-task-node-command sub-board)
(game-task-node-command add-board)
)
)
(dotimes (v1-4 (-> game-info sub-task-list length))
(if (-> game-info sub-task-list v1-4 manager)
@ -23446,3 +23443,7 @@
)
)
)

View File

@ -473,7 +473,7 @@
(target-turret-method-43 (_type_) none)
(target-turret-method-44 (_type_) none)
(target-turret-method-45 (_type_) none)
(target-turret-method-46 (_type_ quaternion) none)
(target-turret-method-46 (_type_ float) none)
(target-turret-method-47 (_type_) none)
(target-turret-method-48 (_type_ vector) symbol)
(target-turret-method-49 (_type_ vector vector float) float)
@ -613,7 +613,7 @@
;; definition for method 46 of type target-turret
;; WARN: Return type mismatch int vs none.
(defmethod target-turret-method-46 ((this target-turret) (arg0 quaternion))
(defmethod target-turret-method-46 ((this target-turret) (arg0 float))
(let ((s3-0 (new 'stack-no-clear 'matrix))
(s4-0 (new 'stack-no-clear 'matrix))
(gp-0 (new 'stack-no-clear 'quaternion))
@ -622,7 +622,7 @@
(matrix-rotate-x! s4-0 (-> this rotx))
(matrix*! s3-0 s4-0 s3-0)
(matrix->quaternion gp-0 s3-0)
(quaternion-smooth-seek! (-> this target-quat) (-> this target-quat) gp-0 (the-as float arg0))
(quaternion-smooth-seek! (-> this target-quat) (-> this target-quat) gp-0 arg0)
(let ((f30-0 (update! (-> this smush-control))))
(update! (-> this fire-recoil))
(quaternion-rotate-local-x! (-> this root quat) gp-0 (* -910.2222 f30-0))
@ -930,7 +930,7 @@
:code sleep-code
:post (behavior ()
(target-turret-method-47 self)
(target-turret-method-46 self (the-as quaternion #x3ea8f5c3))
(target-turret-method-46 self 0.33)
(target-turret-method-55 self)
(target-turret-method-44 self)
(transform-post)
@ -1046,7 +1046,7 @@
)
)
(target-turret-method-47 self)
(target-turret-method-46 self (the-as quaternion #x3ea8f5c3))
(target-turret-method-46 self 0.33)
(target-turret-method-54 self)
(target-turret-method-55 self)
((the-as (function none) target-turret-active-post))
@ -1098,7 +1098,7 @@
:code sleep-code
:post (behavior ()
(target-turret-method-47 self)
(target-turret-method-46 self (the-as quaternion #x3ea8f5c3))
(target-turret-method-46 self 0.33)
(target-turret-method-55 self)
(if *target*
(look-at!
@ -1558,7 +1558,7 @@
(set! (-> this focus-ignore-timer) 0)
(target-turret-method-50 this)
(init-fields! this)
(target-turret-method-46 this (the-as quaternion #x3f800000))
(target-turret-method-46 this 1.0)
(quaternion-copy! (-> this init-quat) (-> this root quat))
(target-turret-method-38 this)
)
@ -2336,3 +2336,7 @@
(target-no-move-post)
)
)

View File

@ -1310,7 +1310,7 @@
;; definition for method 46 of type for-turret
;; WARN: Return type mismatch int vs none.
(defmethod target-turret-method-46 ((this for-turret) (arg0 quaternion))
(defmethod target-turret-method-46 ((this for-turret) (arg0 float))
0
(none)
)
@ -1701,3 +1701,7 @@
0
(none)
)