mirror of
https://github.com/open-goal/jak-project
synced 2026-08-07 02:06:59 -04:00
a3e004f475
Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
314 lines
9.5 KiB
Common Lisp
314 lines
9.5 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: common-part.gc
|
|
;; name in dgo: common-part
|
|
;; dgos: CLF, CLFX, IBX, ICEBERGW, ICEPASSW, ICETOURW, IPX, PEAKW, PKX, SNO, SNOX, SNW, SNWX
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun spt-birth-func-brightness-cliffs-fence-dust ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
|
(let ((s5-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 51) 90))
|
|
(s3-0 (logand 0 (rand-uint31-gen *random-generator*)))
|
|
(s4-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 6) 20))
|
|
(v1-6 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 6) 40))
|
|
)
|
|
(set! (-> arg2 rotate-x) (the float (- s5-0 (the-as int s3-0))))
|
|
(set! (-> arg2 rotate-y) (the float (- s5-0 s4-0)))
|
|
(set! (-> arg2 rotate-z) (the float (- s5-0 v1-6)))
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun spt-birth-func-brightness-cliffs-fence-splinters ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
|
(let ((s5-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 101) 70))
|
|
(s3-0 (logand 0 (rand-uint31-gen *random-generator*)))
|
|
(s4-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 6) 20))
|
|
(v1-6 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 6) 40))
|
|
)
|
|
(set! (-> arg2 rotate-x) (the float (- s5-0 (the-as int s3-0))))
|
|
(set! (-> arg2 rotate-y) (the float (- s5-0 s4-0)))
|
|
(set! (-> arg2 rotate-z) (the float (- s5-0 v1-6)))
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup group-snow-icebreak-a
|
|
:id 423
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 20)
|
|
:parts ((sp-item 1682 :flags (sp3 sp6)) (sp-item 1683 :flags (sp3 sp6)))
|
|
)
|
|
|
|
(defpart 1682
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x78 :page #x4))
|
|
(:num 30.0)
|
|
(:x (meters 0) (meters 3))
|
|
(:y (meters 0) (meters 20))
|
|
(:scale-x (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy r)
|
|
(:a 32.0 32.0)
|
|
(:vel-y (meters 0.006666667) (meters 0.006666667))
|
|
(:scalevel-x (meters 0.016666668) (meters 0.006666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.10666667 -0.10666667)
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2 glow))
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 1683
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x63 :page #x4))
|
|
(:num 30.0)
|
|
(:x (meters 0) (meters 3))
|
|
(:y (meters 0) (meters 20))
|
|
(:scale-x (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy r)
|
|
(:a 64.0 64.0)
|
|
(:vel-y (meters 0.016666668) (meters 0.016666668))
|
|
(:scalevel-x (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.0016666667))
|
|
(:timer (seconds 2))
|
|
(:flags (glow left-multiply-quat))
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-snow-icebreak-b
|
|
:id 424
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 20)
|
|
:parts ((sp-item 1684 :flags (sp3 sp6)) (sp-item 1685 :flags (sp3 sp6)))
|
|
)
|
|
|
|
(defpart 1684
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x78 :page #x4))
|
|
(:num 30.0)
|
|
(:x (meters 0) (meters 3))
|
|
(:y (meters 0) (meters 10))
|
|
(:scale-x (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy r)
|
|
(:a 32.0 32.0)
|
|
(:vel-y (meters 0.006666667) (meters 0.006666667))
|
|
(:scalevel-x (meters 0.016666668) (meters 0.006666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.10666667 -0.10666667)
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2 glow))
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 1685
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x63 :page #x4))
|
|
(:num 15.0)
|
|
(:x (meters 0) (meters 3))
|
|
(:y (meters 0) (meters 10))
|
|
(:scale-x (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy r)
|
|
(:a 64.0 64.0)
|
|
(:vel-y (meters 0.016666668) (meters 0.016666668))
|
|
(:scalevel-x (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.0016666667))
|
|
(:timer (seconds 2))
|
|
(:flags (glow left-multiply-quat))
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-snow-icebreak-c
|
|
:id 425
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 20)
|
|
:parts ((sp-item 1686 :flags (sp3 sp6)) (sp-item 1687 :flags (sp3 sp6)))
|
|
)
|
|
|
|
(defpart 1686
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x78 :page #x4))
|
|
(:num 30.0)
|
|
(:x (meters 0) (meters 3))
|
|
(:y (meters 0) (meters 5))
|
|
(:scale-x (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy r)
|
|
(:a 32.0 32.0)
|
|
(:vel-y (meters 0.006666667) (meters 0.006666667))
|
|
(:scalevel-x (meters 0.016666668) (meters 0.006666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.10666667 -0.10666667)
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2 glow))
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 1687
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x63 :page #x4))
|
|
(:num 10.0)
|
|
(:x (meters 0) (meters 3))
|
|
(:y (meters 0) (meters 5))
|
|
(:scale-x (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy r)
|
|
(:a 64.0 64.0)
|
|
(:vel-y (meters 0.016666668) (meters 0.016666668))
|
|
(:scalevel-x (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.0016666667))
|
|
(:timer (seconds 2))
|
|
(:flags (glow left-multiply-quat))
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-cliffs-fence-dust
|
|
:id 426
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 20)
|
|
:parts ((sp-item 1688 :flags (sp6) :period (seconds 10) :length (seconds 0.067))
|
|
(sp-item 1689 :flags (sp6) :period (seconds 10) :length (seconds 0.067))
|
|
)
|
|
)
|
|
|
|
(defpart 1688
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x78 :page #x4))
|
|
(:birth-func 'spt-birth-func-brightness-cliffs-fence-dust)
|
|
(:num 10.0)
|
|
(:x (meters -20) (meters 40))
|
|
(:y (meters 0) (meters 4))
|
|
(:scale-x (meters 5) (meters 2))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 32.0 64.0)
|
|
(:vel-z (meters -0.05) (meters 0.1))
|
|
(:scalevel-x (meters 0.016666668) (meters 0.006666667))
|
|
(:rotvel-z (degrees -0.1) (degrees 0.2))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.08 -0.08)
|
|
(:accel-y (meters -0.00066666666))
|
|
(:friction 0.9)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 glow left-multiply-quat))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpart 1689
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x65 :page #x4))
|
|
(:birth-func 'spt-birth-func-brightness-cliffs-fence-splinters)
|
|
(:num 70.0)
|
|
(:x (meters -20) (meters 40))
|
|
(:y (meters 0) (meters 4))
|
|
(:scale-x (meters 0.3) (meters 1.2))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 32.0 64.0)
|
|
(:vel-y (meters 0.033333335) (meters 0.06666667))
|
|
(:rotvel-z (degrees -4) (degrees 8))
|
|
(:accel-y (meters -0.0033333334))
|
|
(:timer (seconds 2))
|
|
(:flags (glow))
|
|
(:conerot-x (degrees -45) (degrees 90))
|
|
(:conerot-z (degrees -45) (degrees 90))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-cliffs-fence-dust-small
|
|
:id 427
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 20)
|
|
:parts ((sp-item 1690 :flags (sp6) :period (seconds 10) :length (seconds 0.067))
|
|
(sp-item 1691 :flags (sp6) :period (seconds 10) :length (seconds 0.067))
|
|
)
|
|
)
|
|
|
|
(defpart 1690
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x78 :page #x4))
|
|
(:birth-func 'spt-birth-func-brightness-cliffs-fence-dust)
|
|
(:num 10.0)
|
|
(:x (meters -10) (meters 20))
|
|
(:y (meters 0) (meters 4))
|
|
(:scale-x (meters 5) (meters 2))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 32.0 64.0)
|
|
(:vel-z (meters -0.05) (meters 0.1))
|
|
(:scalevel-x (meters 0.016666668) (meters 0.006666667))
|
|
(:rotvel-z (degrees -0.1) (degrees 0.2))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.08 -0.08)
|
|
(:accel-y (meters -0.00066666666))
|
|
(:friction 0.9)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 glow left-multiply-quat))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpart 1691
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x65 :page #x4))
|
|
(:birth-func 'spt-birth-func-brightness-cliffs-fence-splinters)
|
|
(:num 70.0)
|
|
(:x (meters -10) (meters 20))
|
|
(:y (meters 0) (meters 4))
|
|
(:scale-x (meters 0.3) (meters 1.2))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 32.0 64.0)
|
|
(:vel-y (meters 0.033333335) (meters 0.06666667))
|
|
(:rotvel-z (degrees -4) (degrees 8))
|
|
(:accel-y (meters -0.0033333334))
|
|
(:timer (seconds 2))
|
|
(:flags (glow))
|
|
(:conerot-x (degrees -45) (degrees 90))
|
|
(:conerot-z (degrees -45) (degrees 90))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|