jak-project/goal_src/levels/flut_common/flut-part.gc
ManDude 27bb6c6384
[decompiler] decompile particle defs using specialized macros (#1077)
* [decompiler] `defpart` and `defpartgroup`

* support sounds in part defs natively

* make `meters_to_string`

* update refs

* clang

* make macros in pair only work inside `(unquote ...`

* update source

* update finish

* fix
2022-01-15 20:01:38 -05:00

144 lines
4 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: flut-part.gc
;; name in dgo: flut-part
;; dgos: L1, SNO, SWA
;; DECOMP BEGINS
(defpartgroup group-flut-trans-pad
:id 120
:bounds (static-bspherem 0 0 0 8)
:parts
((sp-item 746 :fade-after (meters 160))
(sp-item 747 :fade-after (meters 160))
(sp-item 748 :fade-after (meters 60) :falloff-to (meters 60) :flags (is-3d))
)
)
(defpart 746
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2))
(sp-flt spt-num 0.5)
(sp-flt spt-y (meters 7))
(sp-rnd-flt spt-scale-x (meters 14) (meters 1) 1.0)
(sp-flt spt-scale-y (meters 14))
(sp-flt spt-r 40.0)
(sp-rnd-flt spt-g 60.0 60.0 1.0)
(sp-flt spt-b 128.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-int spt-timer 10)
(sp-cpuinfo-flags bit2 bit3)
)
)
(defpart 747
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2))
(sp-flt spt-num 0.5)
(sp-flt spt-y (meters 4))
(sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0)
(sp-flt spt-scale-y (meters 14))
(sp-flt spt-r 40.0)
(sp-rnd-flt spt-g 60.0 60.0 1.0)
(sp-flt spt-b 128.0)
(sp-rnd-flt spt-a 64.0 64.0 1.0)
(sp-flt spt-fade-a -8.533334)
(sp-int spt-timer 10)
(sp-cpuinfo-flags bit2 bit3)
)
)
(defpart 748
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0)
(sp-flt spt-scale-x (meters 0))
(sp-rnd-flt spt-rot-x 0.0 2730.6667 1.0)
(sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 16.0)
(sp-rnd-flt spt-g 0.0 127.0 1.0)
(sp-flt spt-b 127.0)
(sp-flt spt-a 127.0)
(sp-flt spt-vel-y (meters 0))
(sp-flt spt-scalevel-x (meters 0.02))
(sp-rnd-flt spt-rotvel-y (degrees -0.6) (degrees 1.2) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a -0.21333334)
(sp-flt spt-accel-y -0.6144)
(sp-int spt-timer 300)
(sp-cpuinfo-flags bit2 bit3)
)
)
(defpartgroup group-flut-attack-strike-ground
:id 121
:duration 10
:linger-duration 450
:bounds (static-bspherem 0 0 0 2)
:parts
((sp-item 749) (sp-item 750))
)
(defpart 749
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 24.0)
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-rnd-flt spt-a 8.0 56.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.13333334) (meters 0.16666667) 1.0)
(sp-flt spt-scalevel-x (meters 0.013333334))
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g -1.4222223)
(sp-flt spt-fade-a -0.35555556)
(sp-flt spt-accel-y 0.34133333)
(sp-flt spt-friction 0.7)
(sp-int spt-timer 180)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 90)
(sp-launcher-by-id spt-next-launcher 751)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 750
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-flt spt-num 32.0)
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-rnd-flt spt-a 64.0 8.0 1.0)
(sp-flt spt-vel-y (meters 0.3))
(sp-flt spt-scalevel-x (meters 0.0033333334))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g -2.8444445)
(sp-flt spt-fade-a -0.82222223)
(sp-flt spt-friction 0.7)
(sp-int spt-timer 90)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 45)
(sp-launcher-by-id spt-next-launcher 751)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)