Files
jak-project/test/decompiler/reference/jak1/engine/common-obs/dark-eco-pool_REF.gc
T
Hat Kid 122de4ecf5 jak1: clean up control-info names and other misc cleanup (#4295)
After spending the last month staring at and comparing Jak 3 and Jak 1
versions of a bunch of `target` code for my jetboard mod, I figured this
would be a good opportunity to revive this ancient PR #1714 along with
some other small misc fixes/improvements.

Instead of directly replacing the old fields, I decided to opt for using
overlay fields to maintain backwards compatibility with existing manual
patches, files without ref tests and mods that might use these fields.
2026-05-31 15:08:41 +02:00

403 lines
13 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; definition of type dark-eco-pool
(deftype dark-eco-pool (water-anim)
()
)
;; definition for method 3 of type dark-eco-pool
(defmethod inspect ((this dark-eco-pool))
(let ((t9-0 (method-of-type water-anim inspect)))
(t9-0 this)
)
this
)
;; definition for symbol ripple-for-misty-dark-eco-pool, type ripple-wave-set
(define ripple-for-misty-dark-eco-pool (new 'static 'ripple-wave-set
:count 3
:converted #f
:normal-scale 3.0
:wave (new 'static 'inline-array ripple-wave 4
(new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 0.5)
(new 'static 'ripple-wave :scale 15.0 :xdiv -2 :zdiv 2 :speed 2.0)
(new 'static 'ripple-wave :scale 3.0 :xdiv 5 :zdiv 3 :speed 2.0)
(new 'static 'ripple-wave)
)
)
)
;; definition for symbol ripple-for-maincave-dark-eco-pool, type ripple-wave-set
(define ripple-for-maincave-dark-eco-pool
(new 'static 'ripple-wave-set
:count 3
:converted #f
:normal-scale 8.57
:wave (new 'static 'inline-array ripple-wave 4
(new 'static 'ripple-wave :scale 14.0 :xdiv 1 :speed 1.0)
(new 'static 'ripple-wave :scale 5.25 :xdiv -1 :zdiv 1 :speed 4.0)
(new 'static 'ripple-wave :scale 0.7 :xdiv 5 :zdiv 3 :speed 2.0)
(new 'static 'ripple-wave)
)
)
)
;; definition for symbol ripple-for-finalboss-dark-eco-pool, type ripple-wave-set
(define ripple-for-finalboss-dark-eco-pool
(new 'static 'ripple-wave-set
:count 3
:converted #f
:normal-scale 4.0
:wave (new 'static 'inline-array ripple-wave 4
(new 'static 'ripple-wave :scale 25.0 :xdiv 2 :speed -2.0)
(new 'static 'ripple-wave :scale 15.0 :xdiv -2 :zdiv 2 :speed 3.0)
(new 'static 'ripple-wave :scale 4.0 :xdiv 5 :zdiv 3 :speed 4.0)
(new 'static 'ripple-wave)
)
)
)
;; definition for symbol ripple-for-dark-eco-pool, type ripple-wave-set
(define ripple-for-dark-eco-pool (new 'static 'ripple-wave-set
:count 3
:converted #f
:normal-scale 3.0
:wave (new 'static 'inline-array ripple-wave 4
(new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.0)
(new 'static 'ripple-wave :scale 15.0 :xdiv -1 :zdiv 1 :speed 4.0)
(new 'static 'ripple-wave :scale 2.0 :xdiv 5 :zdiv 3 :speed 2.0)
(new 'static 'ripple-wave)
)
)
)
;; definition for symbol ripple-for-sunken-dark-eco-helix-room, type ripple-wave-set
(define ripple-for-sunken-dark-eco-helix-room
(new 'static 'ripple-wave-set
:count 3
:converted #f
:normal-scale 8.0
:wave (new 'static 'inline-array ripple-wave 4
(new 'static 'ripple-wave :scale 15.0 :xdiv 1 :speed 1.0)
(new 'static 'ripple-wave :scale 5.625 :xdiv -1 :zdiv 1 :speed 4.0)
(new 'static 'ripple-wave :scale 0.75 :xdiv 5 :zdiv 3 :speed 2.0)
(new 'static 'ripple-wave)
)
)
)
;; definition for method 25 of type dark-eco-pool
;; INFO: Return type mismatch object vs none.
(defmethod water-vol-method-25 ((this dark-eco-pool))
(let ((t9-0 (method-of-type water-anim water-vol-method-25)))
(t9-0 this)
)
(logclear! (-> this flag) (water-flag part-water))
(logior! (-> this flag) (water-flag dark-eco))
(set! (-> this attack-event)
(the-as symbol ((the-as
(function res-lump symbol symbol float structure (pointer res-tag) pointer object)
(method-of-type res-lump get-property-struct)
)
(-> this entity)
'attack-event
'interp
-1000000000.0
'dark-eco-pool
(the-as (pointer res-tag) #f)
*res-static-buf*
)
)
)
(none)
)
;; definition for method 22 of type dark-eco-pool
;; INFO: Return type mismatch ripple-wave-set vs none.
(defmethod water-vol-method-22 ((this dark-eco-pool))
(let ((t9-0 (method-of-type water-anim water-vol-method-22)))
(t9-0 this)
)
(let ((gp-0 (new 'process 'ripple-control)))
(set! (-> this draw ripple) gp-0)
(set! (-> gp-0 global-scale) 3072.0)
(set! (-> gp-0 close-fade-dist) 163840.0)
(set! (-> gp-0 far-fade-dist) 245760.0)
(set! (-> gp-0 waveform) ripple-for-dark-eco-pool)
(set! (-> gp-0 query) (new 'process 'ripple-merc-query 100))
(case (-> this look)
((32)
(set! (-> gp-0 waveform) ripple-for-misty-dark-eco-pool)
)
((15 16 17 18 19 20)
(set! (-> gp-0 waveform) ripple-for-maincave-dark-eco-pool)
)
((40)
(set! (-> gp-0 waveform) ripple-for-sunken-dark-eco-helix-room)
)
((41)
(set! (-> gp-0 waveform) ripple-for-finalboss-dark-eco-pool)
)
)
)
(none)
)
;; failed to figure out what this is:
(defpartgroup group-dark-eco-nasty
:id 444
:flags (use-local-clock)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 2020 :fade-after (meters 50)))
)
;; failed to figure out what this is:
(defpart 2020
:init-specs ((:texture (hotdot effects))
(:num 1.0)
(:y (meters 0))
(:scale-x (meters 1) (meters 4))
(:scale-y (meters 0.25))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 96.0 32.0)
(:scalevel-x (meters 0.1875))
(:scalevel-y (meters -0.001875))
(:fade-a -3.2)
(:timer (seconds 0.035))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.05))
(:next-launcher 2021)
)
)
;; failed to figure out what this is:
(defpart 2021
:init-specs ((:r 255.0) (:g 128.0 128.0) (:b 0.0) (:fade-a -1.28))
)
;; failed to figure out what this is:
(defpartgroup group-dark-eco-pool-nasty
:id 445
:duration (seconds 2)
:linger-duration (seconds 2)
:flags (use-local-clock)
:bounds (static-bspherem 0 0 0 12)
:parts ((sp-item 2056 :fade-after (meters 100) :period (seconds 2) :length (seconds 0.017))
(sp-item 2057 :fade-after (meters 100) :period (seconds 2) :length (seconds 0.017) :binding 2052)
(sp-item 2052 :flags (start-dead launch-asap) :binding 2053)
(sp-item 2053 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead))
(sp-item 2052 :flags (start-dead launch-asap) :binding 2053)
(sp-item 2053 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead))
(sp-item 2052 :flags (start-dead launch-asap) :binding 2053)
(sp-item 2053 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead))
(sp-item 2052 :flags (start-dead launch-asap) :binding 2053)
(sp-item 2053 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead))
(sp-item 2058 :fade-after (meters 100) :period (seconds 2) :length (seconds 0.017) :binding 2054)
(sp-item 2054 :flags (start-dead launch-asap) :binding 2055)
(sp-item 2055 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead))
(sp-item 2054 :flags (start-dead launch-asap) :binding 2055)
(sp-item 2055 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead))
(sp-item 2054 :flags (start-dead launch-asap) :binding 2055)
(sp-item 2055 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead))
(sp-item 2054 :flags (start-dead launch-asap) :binding 2055)
(sp-item 2055 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead))
)
)
;; failed to figure out what this is:
(defpart 2056
:init-specs ((:texture (starflash effects))
(:num 1.0)
(:scale-x (meters 8))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 0.0 96.0)
(:g 0.0 32.0)
(:b 64.0 32.0)
(:a 64.0)
(:fade-a -1.8285716)
(:timer (seconds 0.18))
(:flags (bit2 bit3 bit14))
)
)
;; failed to figure out what this is:
(defpart 2057
:init-specs ((:texture (starflash effects))
(:num 1.0 6.0)
(:y (meters 1))
(:scale-x (meters 0.1))
(:scale-y :copy scale-x)
(:a 0.0)
(:vel-y (meters 0.04) (meters 0.02))
(:accel-y (meters -0.00083333335))
(:friction 0.94)
(:timer (seconds 0.8))
(:flags (bit3))
(:conerot-x (degrees 0) (degrees 140))
(:conerot-y (degrees 0) (degrees 360))
)
)
;; failed to figure out what this is:
(defpart 2052
:init-specs ((:texture (hotdot effects))
(:num 1.0)
(:y (meters 0) (meters 16))
(:z (meters 0.3) (meters 0.3))
(:scale-x (meters 0.4) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 0.0 96.0)
(:g 0.0 32.0)
(:b 64.0 32.0)
(:a 64.0 64.0)
(:omega 0.0 65536.0)
(:vel-x (meters 0.026666667) (meters 0.10666667))
(:scalevel-x (meters -0.000909091))
(:rotvel-z (degrees -0.3) 1 (degrees 0.6))
(:scalevel-y :copy scalevel-x)
(:fade-g -0.26666668)
(:fade-a -0.19393939)
(:timer (seconds 0.2) (seconds 0.597))
(:flags (bit2 bit3 bit7 bit14))
)
)
;; failed to figure out what this is:
(defpart 2053
:init-specs ((:texture (hotdot effects))
(:num 1.0)
(:scale-x (meters 0.4) (meters 0.1))
(:scale-y :copy scale-x)
(:r 32.0 96.0)
(:g 0.0 32.0)
(:b 64.0 32.0)
(:a 32.0 32.0)
(:scalevel-x (meters -0.0006190476))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.01904762)
(:accel-y (meters -0.000100000005) (meters -0.00015))
(:timer (seconds 0.1) (seconds 0.797))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.8))
(:next-launcher 198)
)
)
;; failed to figure out what this is:
(defpart 2058
:init-specs ((:texture (starflash effects))
(:num 1.0 6.0)
(:y (meters 1))
(:scale-x (meters 0.1))
(:scale-y :copy scale-x)
(:a 0.0)
(:vel-y (meters 0.04) (meters 0.02))
(:accel-y (meters -0.00083333335))
(:friction 0.94)
(:timer (seconds 0.8))
(:flags (bit3))
(:conerot-x (degrees 0) (degrees 140))
(:conerot-y (degrees 0) (degrees 360))
)
)
;; failed to figure out what this is:
(defpart 2054
:init-specs ((:texture (hotdot effects))
(:num 1.0)
(:y (meters 0) (meters 16))
(:z (meters 0.3) (meters 0.3))
(:scale-x (meters 0.4) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 16.0 32.0)
(:g 0.0 16.0)
(:b 192.0 64.0)
(:a 64.0 64.0)
(:omega 0.0 65536.0)
(:vel-x (meters 0.026666667) (meters 0.10666667))
(:scalevel-x (meters -0.000909091))
(:rotvel-z (degrees -0.3) 1 (degrees 0.6))
(:scalevel-y :copy scalevel-x)
(:fade-g -0.26666668)
(:fade-a -0.19393939)
(:timer (seconds 0.2) (seconds 0.597))
(:flags (bit2 bit3 bit7 bit14))
)
)
;; failed to figure out what this is:
(defpart 2055
:init-specs ((:texture (hotdot effects))
(:num 1.0)
(:scale-x (meters 0.4) (meters 0.1))
(:scale-y :copy scale-x)
(:r 16.0 32.0)
(:g 0.0 16.0)
(:b 192.0 64.0)
(:a 32.0 32.0)
(:scalevel-x (meters -0.0006190476))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.01904762)
(:accel-y (meters -0.000100000005) (meters -0.00015))
(:timer (seconds 0.1) (seconds 0.797))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.8))
(:next-launcher 198)
)
)
;; failed to figure out what this is:
(defstate water-vol-idle (dark-eco-pool)
:virtual #t
:trans (behavior ()
(let ((t9-0 (-> (method-of-type water-anim water-vol-idle) trans)))
(if t9-0
(t9-0)
)
)
(let* ((gp-0 (-> self draw ripple))
(f0-1 (the float (logand (current-time) #xffff)))
(f30-0 (square (cos (* 5.0 f0-1))))
)
(let ((s5-0 (-> self draw ripple query)))
(set! (-> self draw ripple send-query) #t)
(set! (-> s5-0 start-vertex) (rand-vu-int-range 0 255))
(set! (-> s5-0 vertex-skip) 256)
(when (zero? (rand-vu-int-range 0 15))
(when (and (nonzero? (-> s5-0 vertex-count)) (< #x32000 (memory-free *nk-dead-pool*)))
(let ((s3-0 (rand-vu-int-range 0 (+ (-> s5-0 vertex-count) -1))))
(process-spawn
part-tracker
:init part-tracker-init
group-dark-eco-pool-nasty
-1
#f
#f
#f
(-> s5-0 data s3-0)
:to *entity-pool*
)
)
)
)
)
(case (-> self look)
((32)
(set! (-> gp-0 global-scale) (* 4096.0 (* 1.5 (+ 1.0 f30-0))))
(set! (-> gp-0 individual-normal-scale) (+ 0.5 (/ f30-0 2)))
)
(else
(set! (-> gp-0 global-scale) (* 4096.0 (* 3.0 (+ 1.0 f30-0))))
(set! (-> gp-0 individual-normal-scale) (+ 0.5 (/ f30-0 2)))
)
)
)
)
)