mirror of
https://github.com/open-goal/jak-project
synced 2026-08-08 02:31:30 -04:00
637990314b
Closes #736 --------- Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
739 lines
23 KiB
Common Lisp
Vendored
Generated
739 lines
23 KiB
Common Lisp
Vendored
Generated
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-volcano-embers
|
|
:id 1386
|
|
:flags (sp0)
|
|
:bounds (static-bspherem 0 0 0 40)
|
|
:parts ((sp-item 4596 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4596
|
|
:init-specs ((:texture (motion-blur-part level-default-sprite))
|
|
(:num 0.01 0.5)
|
|
(:x (meters 0) (meters 20))
|
|
(:y (meters 30) (meters 10))
|
|
(:scale-x (meters 0.04) (meters 0.04))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 20.0 40.0)
|
|
(:b 0.0)
|
|
(:a 55.0 200.0)
|
|
(:omega (degrees 0.045))
|
|
(:accel-y (meters -0.00033333333) (meters -0.00066666666))
|
|
(:timer (seconds 33.335))
|
|
(:flags (sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
|
|
(:func 'spt-func-part-volcano-embers)
|
|
(:next-time (seconds 0.017))
|
|
(:next-launcher 4597)
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4597
|
|
:init-specs ((:g 20.0 40.0)
|
|
(:a 128.0 128.0)
|
|
(:accel-x (meters -0.001) 1 (meters 0.002))
|
|
(:accel-z (meters -0.001) 1 (meters 0.002))
|
|
(:friction 0.93 0.03)
|
|
(:next-time (seconds 0.067) (seconds 0.03))
|
|
(:next-launcher 4597)
|
|
)
|
|
)
|
|
|
|
;; definition for function spt-func-part-volcano-embers
|
|
(defun spt-func-part-volcano-embers ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
|
(sparticle-motion-blur arg0 arg1 (-> arg2 launchrot))
|
|
(check-drop-group-center arg0 arg1 arg2)
|
|
(none)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-volcano-lantern-glow
|
|
:id 1387
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 4598 :fade-after (meters 120) :flags (sp6))
|
|
(sp-item 4599 :fade-after (meters 120) :flags (sp6))
|
|
(sp-item 4600 :fade-after (meters 120) :flags (sp6))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4598
|
|
:init-specs ((:texture (glow-hotdot level-default-sprite))
|
|
(:num 1.0)
|
|
(:scale-x (meters 2) (meters 0.1))
|
|
(:rot-x (degrees 4.5))
|
|
(:rot-z (degrees -17))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 80.0)
|
|
(:a 70.0)
|
|
(:omega (degrees 2715.75))
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 1638.4)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4599
|
|
:init-specs ((:texture (glow-soft level-default-sprite))
|
|
(:num 1.0)
|
|
(:scale-x (meters 10) (meters 0.1))
|
|
(:rot-x (degrees 9))
|
|
(:rot-z (degrees -17))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 80.0)
|
|
(:b 0.0)
|
|
(:a 30.0 10.0)
|
|
(:omega (degrees 2715.75))
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 819.2)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4600
|
|
:init-specs ((:texture (ring level-default-sprite))
|
|
(:num 1.0)
|
|
(:scale-x (meters 3) (meters 0.1))
|
|
(:rot-x (degrees 9))
|
|
(:rot-z (degrees -17))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 128.0)
|
|
(:b 0.0)
|
|
(:a 2.0 1.0)
|
|
(:omega (degrees 1815.7499))
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 819.2)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-lava-shoot
|
|
:id 1388
|
|
:flags (sp4 sp6)
|
|
:bounds (static-bspherem 0 -15 0 20)
|
|
:parts ((sp-item 4601 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4601
|
|
:init-specs ((:texture (water-drops level-default-sprite))
|
|
(:num 1.0)
|
|
(:x (meters -0.5) (meters 1))
|
|
(:z (meters -0.5) (meters 1))
|
|
(:scale-x (meters 1) (meters 1))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 60.0 60.0)
|
|
(:b 0.0)
|
|
(:a 128.0)
|
|
(:vel-z (meters 0.026666667) (meters 0.006666667))
|
|
(:scalevel-x (meters 0.000033333334))
|
|
(:rotvel-z (degrees -0.033333335) (degrees 0.06666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.0023333333))
|
|
(:timer (seconds 1.167))
|
|
(:flags (sp-cpuinfo-flag-3 launch-along-z))
|
|
(:conerot-x (degrees 0) (degrees 10))
|
|
(:rotate-z (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-volcano-lava-ripples
|
|
:id 1389
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 6)
|
|
:parts ((sp-item 4602 :fade-after (meters 100) :falloff-to (meters 200) :flags (is-3d sp7))
|
|
(sp-item 4603 :fade-after (meters 100) :falloff-to (meters 200) :flags (is-3d sp7))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4602
|
|
:init-specs ((:texture (laser-hit-rim level-default-sprite))
|
|
(:num 0.01 0.01)
|
|
(:y (meters 0.1))
|
|
(:scale-x (meters 3))
|
|
(:rot-y (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 80.0 80.0)
|
|
(:b 0.0)
|
|
(:a 255.0)
|
|
(:scalevel-x (meters 0.005) (meters 0.0016666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:timer (seconds 6.667))
|
|
(:flags (left-multiply-quat))
|
|
(:next-time (seconds 3.335))
|
|
(:next-launcher 4604)
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4604
|
|
:init-specs ((:fade-a -0.256))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4603
|
|
:init-specs ((:texture (laser-hit-rim level-default-sprite))
|
|
(:num 0.01 0.01)
|
|
(:y (meters 0.1))
|
|
(:scale-x (meters 3))
|
|
(:rot-y (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 40.0)
|
|
(:g 10.0)
|
|
(:b 0.0)
|
|
(:a 128.0)
|
|
(:scalevel-x (meters 0.0033333334) (meters 0.0016666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:timer (seconds 6.667))
|
|
(:flags (left-multiply-quat))
|
|
(:next-time (seconds 5))
|
|
(:next-launcher 4604)
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-volcano-lava-bubbles
|
|
:id 1390
|
|
:flags (sp0 sp4 sp8)
|
|
:bounds (static-bspherem 0 0 0 7)
|
|
:parts ((sp-item 4605 :fade-after (meters 100) :falloff-to (meters 200)))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4605
|
|
:init-specs ((:texture (lava-bubble volcanoa-sprite))
|
|
(:num 0.01 0.04)
|
|
(:x (meters 0) (meters 6))
|
|
(:y (meters 0.25))
|
|
(:scale-x (meters 0.1))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 100.0 40.0)
|
|
(:b 0.0)
|
|
(:a 128.0)
|
|
(:scalevel-x (meters 0.0013333333) (meters 0.001))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:timer (seconds 1) (seconds 1.997))
|
|
(:flags (sp-cpuinfo-flag-3))
|
|
(:func 'spt-func-birth-on-pop)
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; definition for function spt-func-birth-on-pop
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch (pointer process) vs none.
|
|
(defun spt-func-birth-on-pop ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
|
(when (zero? (-> arg1 timer))
|
|
(cond
|
|
((logtest? (-> group-volcano-lava-splash flags) (sp-group-flag sp13))
|
|
(let ((v1-6 (-> *launch-matrix* trans))
|
|
(a0-1 (new 'stack-no-clear 'vector))
|
|
)
|
|
(set! (-> a0-1 x) (-> arg2 launchrot x))
|
|
(set! (-> a0-1 y) (-> arg2 launchrot y))
|
|
(set! (-> a0-1 z) (-> arg2 launchrot z))
|
|
(set! (-> a0-1 w) 1.0)
|
|
(vector-copy! v1-6 a0-1)
|
|
)
|
|
(part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-volcano-lava-splash)
|
|
)
|
|
(else
|
|
(let ((v1-19 (-> *launch-matrix* trans))
|
|
(a0-6 (new 'stack-no-clear 'vector))
|
|
)
|
|
(set! (-> a0-6 x) (-> arg2 launchrot x))
|
|
(set! (-> a0-6 y) (-> arg2 launchrot y))
|
|
(set! (-> a0-6 z) (-> arg2 launchrot z))
|
|
(set! (-> a0-6 w) 1.0)
|
|
(vector-copy! v1-19 a0-6)
|
|
)
|
|
(part-tracker-spawn part-tracker :to *entity-pool* :group group-volcano-lava-splash)
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-volcano-lava-splash
|
|
:id 1391
|
|
:linger-duration (seconds 0)
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 7)
|
|
:parts ((sp-item 4606 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7) :period (seconds 20) :length (seconds 0.035))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4606
|
|
:init-specs ((:texture (lava-drop-01 volcanoa-sprite))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 10.0)
|
|
(:x (meters -0.5) (meters 1))
|
|
(:z (meters -0.5) (meters 1))
|
|
(:scale-x (meters 0.1) (meters 0.5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 60.0 60.0)
|
|
(:b 0.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.0033333334) (meters 0.026666667))
|
|
(:scalevel-x (meters 0.000033333334))
|
|
(:rotvel-z (degrees -2) (degrees 4))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.001))
|
|
(:timer (seconds 1.167))
|
|
(:flags (sp-cpuinfo-flag-3 launch-along-z))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 5 1 0 -2145386496 -2145386240 -2145385984 -2145385728))
|
|
(:func 'check-drop-group-center)
|
|
(:conerot-x (degrees 0) (degrees 50.000004))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-lavawave-falls
|
|
:id 1392
|
|
:flags (sp4 sp6)
|
|
:bounds (static-bspherem 0 -15 0 20)
|
|
:parts ((sp-item 4607 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4607
|
|
:init-specs ((:texture (water-drops level-default-sprite))
|
|
(:num 1.0 1.0)
|
|
(:x (meters -2) (meters 4))
|
|
(:y (meters -0.6))
|
|
(:scale-x (meters 1.5) (meters 1.5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 60.0 60.0)
|
|
(:b 0.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.01) (meters 0.01))
|
|
(:scalevel-x (meters 0.001))
|
|
(:rotvel-z (degrees -0.13333334) (degrees 0.26666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.0016666667))
|
|
(:timer (seconds 0.5))
|
|
(:flags (launch-along-z))
|
|
(:conerot-x (degrees 0) (degrees 10))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-volcano-lava-rocks-heat
|
|
:id 1393
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 4608 :falloff-to (meters 100)))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4608
|
|
:init-specs ((:num 1.0)
|
|
(:x (meters 0) (meters 10))
|
|
(:y (meters 0))
|
|
(:rot-x 6)
|
|
(:r 40960.0)
|
|
(:g 20480.0)
|
|
(:b 20480.0)
|
|
(:vel-y (meters 0.016666668))
|
|
(:fade-b -40.96)
|
|
(:timer (seconds 0.335))
|
|
(:flags (distort))
|
|
(:next-time (seconds 0.167))
|
|
(:next-launcher 4609)
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4609
|
|
:init-specs ((:fade-b 40.96))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-steam-geyser-shoot
|
|
:id 1394
|
|
:flags (sp4 sp6)
|
|
:bounds (static-bspherem 0 10 0 15)
|
|
:parts ((sp-item 4610 :fade-after (meters 200) :falloff-to (meters 300) :flags (sp7)))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4610
|
|
:init-specs ((:texture (dirtpuff01 level-default-sprite))
|
|
(:num 1.0)
|
|
(:x (meters 0) (meters 1))
|
|
(:scale-x (meters 12))
|
|
(:scale-y (meters 4))
|
|
(:r 128.0 80.0)
|
|
(:g :copy r)
|
|
(:b :copy r)
|
|
(:a 0.0)
|
|
(:vel-y (meters 0.1) (meters 0.033333335))
|
|
(:scalevel-x (meters -0.02) (meters -0.02))
|
|
(:scalevel-y (meters 0.053333335))
|
|
(:fade-a 0.32)
|
|
(:friction 0.94)
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
|
|
(:func 'sparticle-2d-spline-align-instant)
|
|
(:next-time (seconds 0.335))
|
|
(:next-launcher 4611)
|
|
(:launchrot-x (degrees -20) (degrees 40))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4611
|
|
:init-specs ((:scalevel-x (meters -0.006666667))
|
|
(:scalevel-y (meters 0.006666667))
|
|
(:fade-a -0.10666667 -0.10666667)
|
|
(:friction 0.9 0.04)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-lava-ball-spout
|
|
:id 1395
|
|
:flags (sp4 sp6)
|
|
:bounds (static-bspherem 0 10 0 15)
|
|
:parts ((sp-item 4612 :fade-after (meters 200) :falloff-to (meters 250) :flags (sp7)))
|
|
)
|
|
|
|
;; definition for symbol *lava-particle-list*, type (array int32)
|
|
(define *lava-particle-list*
|
|
(new 'static 'boxed-array :type int32 -2145386496 -2145386240 -2145385984 -2145385728)
|
|
)
|
|
|
|
;; definition for function birth-func-texture-group-lava
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defun birth-func-texture-group-lava ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
|
(particle-adgif-callback
|
|
(-> arg1 adgif)
|
|
(the-as
|
|
texture-id
|
|
(-> *lava-particle-list*
|
|
(mod (the-as int (rand-uint31-gen *random-generator*)) (-> *lava-particle-list* length))
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4612
|
|
:init-specs ((:texture (lava-drop-01 volcanoa-sprite))
|
|
(:birth-func 'birth-func-texture-group-lava)
|
|
(:num 1.0)
|
|
(:x (meters -1) (meters 2))
|
|
(:z (meters -1) (meters 2))
|
|
(:scale-x (meters 0.5) (meters 1))
|
|
(:rot-z (degrees 0))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 80.0 60.0)
|
|
(:b 0.0)
|
|
(:a 128.0)
|
|
(:omega (degrees 0.045))
|
|
(:vel-y (meters 0.033333335) (meters 0.016666668))
|
|
(:accel-y (meters -0.0033333334))
|
|
(:timer (seconds 4))
|
|
(:flags (launch-along-z))
|
|
(:func 'spt-func-part-lava-ball-spout-puff)
|
|
(:next-time (seconds 0.667))
|
|
(:next-launcher 4613)
|
|
(:conerot-x (degrees 0) (degrees 5))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4613
|
|
:init-specs ((:rotvel-z (degrees -2) (degrees 4)) (:func 'none))
|
|
)
|
|
|
|
;; definition for function spt-func-part-lava-ball-spout-puff
|
|
(defun spt-func-part-lava-ball-spout-puff ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
|
(sparticle-motion-blur arg0 arg1 (-> arg2 launchrot))
|
|
(check-drop-group-center arg0 arg1 arg2)
|
|
(none)
|
|
)
|
|
|
|
;; definition for function spt-birth-func-brightness-part-volcano-leaf-fall
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun spt-birth-func-brightness-part-volcano-leaf-fall ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(let ((s5-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 11) 90))
|
|
(s3-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 61) 10))
|
|
(s4-0 (mod (the-as int (rand-uint31-gen *random-generator*)) 21))
|
|
(v1-7 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 41) 70))
|
|
)
|
|
(set! (-> arg2 rotate-x) (the float (- s5-0 s3-0)))
|
|
(set! (-> arg2 rotate-y) (the float (- s5-0 s4-0)))
|
|
(set! (-> arg2 rotate-z) (the float (- s5-0 v1-7)))
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-volcano-leaf-fall
|
|
:id 1396
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 20)
|
|
:parts ((sp-item 4614 :fade-after (meters 200) :falloff-to (meters 200) :flags (is-3d) :period (seconds 1) :length (seconds 0.017))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4614
|
|
:init-specs ((:texture (forest-leaf volcanoa-sprite))
|
|
(:birth-func 'spt-birth-func-part-volcano-leaf-fall)
|
|
(:num 1.0)
|
|
(:x (meters 0) (meters 6))
|
|
(:y (meters 0) (meters 4))
|
|
(:scale-x (meters 0.5) (meters 1))
|
|
(:rot-x 4)
|
|
(:rot-y (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:rotvel-x (degrees -0.2) (degrees 0.4))
|
|
(:rotvel-y (degrees -0.2) 1 (degrees 0.4))
|
|
(:rotvel-z (degrees -0.2) (degrees 0.4))
|
|
(:accel-y (meters -0.00006666667) (meters -0.00006666667))
|
|
(:friction 0.99)
|
|
(:timer (seconds 6.667))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 5 1 0 -2145384960 -2145384704 -2145384448 -2145384192))
|
|
(:next-time (seconds 1))
|
|
(:next-launcher 4615)
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4615
|
|
:init-specs ((:rotvel-x (degrees -0.6666667) (degrees 1.3333334))
|
|
(:rotvel-y (degrees -0.2) 1 (degrees 0.4))
|
|
(:rotvel-z (degrees -0.6666667) (degrees 1.3333334))
|
|
(:accel-x (meters -0.00016666666) (meters 0.00033333333))
|
|
(:accel-y (meters 0.000033333334) (meters -0.00066666666))
|
|
(:accel-z (meters -0.00016666666) (meters 0.00033333333))
|
|
(:next-time (seconds 0.5) (seconds 0.497))
|
|
(:next-launcher 4615)
|
|
)
|
|
)
|
|
|
|
;; definition for function spt-birth-func-part-volcano-leaf-fall
|
|
(defun spt-birth-func-part-volcano-leaf-fall ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-part-volcano-leaf-fall arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
;; definition for function spt-volcano-check-ground-lie-flat
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch quaternion vs none.
|
|
(defun spt-volcano-check-ground-lie-flat ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
|
(local-vars (v1-9 float) (v1-10 float) (v1-15 float) (v1-16 float) (s5-1 quaternion))
|
|
(rlet ((vf0 :class vf)
|
|
(vf1 :class vf)
|
|
(vf2 :class vf)
|
|
)
|
|
(init-vf0-vector)
|
|
(let* ((v1-0 (-> arg1 key))
|
|
(f0-1 (+ 819.2 (-> v1-0 origin trans y)))
|
|
(f30-0 (+ 8192.0 f0-1))
|
|
)
|
|
(when (< (-> arg2 launchrot y) f0-1)
|
|
(let ((s4-0 (new 'stack-no-clear 'quaternion)))
|
|
(let ((s3-0 (new 'stack-no-clear 'matrix)))
|
|
(set! (-> arg1 next-launcher) (the-as basic 0))
|
|
(set! (-> arg1 next-time) (the-as uint 5))
|
|
(set! (-> arg1 acc quad) (the-as uint128 0))
|
|
(set! (-> arg1 vel-sxvel quad) (the-as uint128 0))
|
|
(set! (-> arg1 rot-syvel quad) (the-as uint128 0))
|
|
(quaternion-identity! (-> arg1 rotvel3d))
|
|
(let* ((v1-7 s4-0)
|
|
(a0-3 arg2)
|
|
(f0-2 (-> a0-3 conerot x))
|
|
(f1-3 (-> a0-3 conerot y))
|
|
(f2-0 (-> a0-3 conerot z))
|
|
)
|
|
(set! (-> v1-7 x) f0-2)
|
|
(set! (-> v1-7 y) f1-3)
|
|
(set! (-> v1-7 z) f2-0)
|
|
(set! (-> v1-7 w) (sqrtf (- (- (- 1.0 (square f2-0)) (square f1-3)) (square f0-2))))
|
|
)
|
|
(matrix-u-f-compose s3-0 *y-vector* (vector-z-quaternion! (new 'stack-no-clear 'vector) s4-0))
|
|
(matrix->quaternion s4-0 s3-0)
|
|
)
|
|
(let ((v1-8 arg2))
|
|
(cond
|
|
((< (-> s4-0 w) 0.0)
|
|
(.lvf vf1 (&-> v1-8 conerot quad))
|
|
(.lvf vf2 (&-> s4-0 quad))
|
|
(.sub.vf.xyz vf1 vf0 vf2)
|
|
(.svf (&-> v1-8 conerot quad) vf1)
|
|
(.mov v1-9 vf1)
|
|
)
|
|
(else
|
|
(.lvf vf1 (&-> v1-8 conerot quad))
|
|
(.lvf vf2 (&-> s4-0 quad))
|
|
(.add.vf.xyz vf1 vf0 vf2)
|
|
(.svf (&-> v1-8 conerot quad) vf1)
|
|
(.mov v1-10 vf1)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 sp-func) (the-as (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d uint none) 0))
|
|
0
|
|
)
|
|
(set! s5-1
|
|
(when (< (-> arg2 launchrot y) f30-0)
|
|
(set! s5-1 (new 'stack-no-clear 'quaternion))
|
|
(let ((s4-1 (new 'stack-no-clear 'quaternion)))
|
|
(let ((s3-1 (new 'stack-no-clear 'matrix)))
|
|
(let* ((v1-12 s5-1)
|
|
(a0-9 arg2)
|
|
(f0-8 (-> a0-9 conerot x))
|
|
(f1-7 (-> a0-9 conerot y))
|
|
(f2-3 (-> a0-9 conerot z))
|
|
)
|
|
(set! (-> v1-12 x) f0-8)
|
|
(set! (-> v1-12 y) f1-7)
|
|
(set! (-> v1-12 z) f2-3)
|
|
(set! (-> v1-12 w) (sqrtf (- (- (- 1.0 (square f2-3)) (square f1-7)) (square f0-8))))
|
|
)
|
|
(matrix-u-f-compose s3-1 *y-vector* (vector-z-quaternion! (new 'stack-no-clear 'vector) s5-1))
|
|
(matrix->quaternion s4-1 s3-1)
|
|
)
|
|
(quaternion-pseudo-seek s5-1 s5-1 s4-1 (* 3.034074 (seconds-per-frame)))
|
|
)
|
|
(cond
|
|
((< (-> s5-1 w) 0.0)
|
|
(.lvf vf1 (&-> arg2 conerot quad))
|
|
(.lvf vf2 (&-> s5-1 quad))
|
|
(.sub.vf.xyz vf1 vf0 vf2)
|
|
(.svf (&-> arg2 conerot quad) vf1)
|
|
(.mov v1-15 vf1)
|
|
)
|
|
(else
|
|
(.lvf vf1 (&-> arg2 conerot quad))
|
|
(.lvf vf2 (&-> s5-1 quad))
|
|
(.add.vf.xyz vf1 vf0 vf2)
|
|
(.svf (&-> arg2 conerot quad) vf1)
|
|
(.mov v1-16 vf1)
|
|
)
|
|
)
|
|
s5-1
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-vol-lava-ball
|
|
:id 1397
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 20)
|
|
:parts ((sp-item 4616 :flags (sp7)))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4616
|
|
:init-specs ((:texture (lava-drop-01 volcanoa-sprite))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 5.0)
|
|
(:x (meters -0.5) (meters 1))
|
|
(:y (meters -1))
|
|
(:z (meters -0.5) (meters 1))
|
|
(:scale-x (meters 0.5) (meters 0.5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 60.0 60.0)
|
|
(:b 0.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.0033333334) (meters 0.026666667))
|
|
(:scalevel-x (meters -0.0016666667) (meters -0.0016666667))
|
|
(:rotvel-z (degrees -2) (degrees 4))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.0016666667))
|
|
(:timer (seconds 1.167))
|
|
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 launch-along-z))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 5 1 0 -2145386496 -2145386240 -2145385984 -2145385728))
|
|
(:conerot-x (degrees 80) (degrees 20))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-vol-break-ground
|
|
:id 1398
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 20)
|
|
:parts ((sp-item 4617 :flags (sp7)))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4617
|
|
:init-specs ((:texture (big-cloud level-default-sprite))
|
|
(:num 0.3)
|
|
(:z (meters -5) (meters 10))
|
|
(:scale-x (meters 1))
|
|
(:scale-y :copy scale-x)
|
|
(:r 120.0)
|
|
(:g 100.0)
|
|
(:b 80.0)
|
|
(:a 0.0)
|
|
(:scalevel-x (meters 0.033333335) (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.64)
|
|
(:accel-y (meters -0.00033333333))
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-13))
|
|
(:next-time (seconds 0.335))
|
|
(:next-launcher 4618)
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 4618
|
|
:init-specs ((:scalevel-x (meters 0.0033333334)) (:scalevel-y :copy scalevel-x) (:fade-a -0.128))
|
|
)
|