jak-project/goal_src/levels/snow/snow-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

861 lines
36 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: snow-part.gc
;; name in dgo: snow-part
;; dgos: L1, SNO
;; DECOMP BEGINS
(deftype snow-part (part-spawner)
()
:heap-base #x60
:method-count-assert 21
:size-assert #xd0
:flag-assert #x15006000d0
)
(defpartgroup group-snow-snowdrops1
:id 528
:bounds (static-bspherem 0 -16 0 32)
:parts
((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 150)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 100)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 60)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 30)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 10)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 2700 :length 200)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 2700 :length 150)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 2700 :length 100)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 2700 :length 50)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 2700 :length 20)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 2700 :length 170)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 2700 :length 115)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 2700 :length 70)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 2700 :length 35)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 2700 :length 10)
)
)
(defpartgroup group-snow-snowdrops2
:id 529
:bounds (static-bspherem 0 -16 0 32)
:parts
((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 150 :offset 900)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 100 :offset 900)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 60 :offset 900)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 30 :offset 900)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 10 :offset 900)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 3068 :length 200 :offset 900)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 3068 :length 150 :offset 900)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 3068 :length 100 :offset 900)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 3068 :length 50 :offset 900)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 3068 :length 20 :offset 900)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 3068 :length 170 :offset 900)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 3068 :length 115 :offset 900)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 3068 :length 70 :offset 900)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 3068 :length 35 :offset 900)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 3068 :length 10 :offset 900)
)
)
(defpartgroup group-snow-snowdrops3
:id 530
:bounds (static-bspherem 0 -16 0 32)
:parts
((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 150 :offset 1800)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 100 :offset 1800)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 60 :offset 1800)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 30 :offset 1800)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 10 :offset 1800)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 3345 :length 200 :offset 1800)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 3345 :length 150 :offset 1800)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 3345 :length 100 :offset 1800)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 3345 :length 50 :offset 1800)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 3345 :length 20 :offset 1800)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 3345 :length 170 :offset 1800)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 3345 :length 115 :offset 1800)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 3345 :length 70 :offset 1800)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 3345 :length 35 :offset 1800)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 3345 :length 10 :offset 1800)
)
)
(defpartgroup group-snow-snowdrops4
:id 531
:bounds (static-bspherem 0 -16 0 32)
:parts
((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 150 :offset 300)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 100 :offset 300)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 60 :offset 300)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 30 :offset 300)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 10 :offset 300)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 4035 :length 200 :offset 300)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 4035 :length 150 :offset 300)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 4035 :length 100 :offset 300)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 4035 :length 50 :offset 300)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 4035 :length 20 :offset 300)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 4035 :length 170 :offset 300)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 4035 :length 115 :offset 300)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 4035 :length 70 :offset 300)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 4035 :length 35 :offset 300)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 4035 :length 10 :offset 300)
)
)
(defpartgroup group-snow-snowdrops5
:id 532
:bounds (static-bspherem 0 -16 0 32)
:parts
((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 150 :offset 1200)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 100 :offset 1200)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 60 :offset 1200)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 30 :offset 1200)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 10 :offset 1200)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 5385 :length 200 :offset 1200)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 5385 :length 150 :offset 1200)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 5385 :length 100 :offset 1200)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 5385 :length 50 :offset 1200)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 5385 :length 20 :offset 1200)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 5385 :length 170 :offset 1200)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 5385 :length 115 :offset 1200)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 5385 :length 70 :offset 1200)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 5385 :length 35 :offset 1200)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 5385 :length 10 :offset 1200)
)
)
(defpartgroup group-snow-snowdrops6
:id 533
:bounds (static-bspherem 0 -16 0 32)
:parts
((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 150 :offset 2100)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 100 :offset 2100)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 60 :offset 2100)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 30 :offset 2100)
(sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 10 :offset 2100)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 6129 :length 200 :offset 2100)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 6129 :length 150 :offset 2100)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 6129 :length 100 :offset 2100)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 6129 :length 50 :offset 2100)
(sp-item 1925 :fade-after (meters 100) :falloff-to (meters 100) :period 6129 :length 20 :offset 2100)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 6129 :length 170 :offset 2100)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 6129 :length 115 :offset 2100)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 6129 :length 70 :offset 2100)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 6129 :length 35 :offset 2100)
(sp-item 1926 :fade-after (meters 80) :falloff-to (meters 80) :period 6129 :length 10 :offset 2100)
)
)
(defpart 1924
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 0.25)
(sp-rnd-flt spt-x (meters -1) (meters 2) 1.0)
(sp-rnd-flt spt-z (meters -1) (meters 2) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.25) 1.0)
(sp-flt spt-r 200.0)
(sp-flt spt-g 200.0)
(sp-rnd-flt spt-b 200.0 55.0 1.0)
(sp-flt spt-a 128.0)
(sp-flt spt-vel-y (meters -0.006666667))
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-rnd-flt spt-accel-y -2.7306666 -1.3653333 1.0)
(sp-int spt-timer 900)
(sp-cpuinfo-flags bit2 bit12)
(sp-int spt-next-time 600)
(sp-launcher-by-id spt-next-launcher 1927)
)
)
(defpart 1927
:init-specs
((sp-flt spt-fade-a -0.42666668))
)
(defpart 1925
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0)
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-z (meters -0.5) (meters 1) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.25) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.25) (meters 0.1) 1.0)
(sp-flt spt-r 200.0)
(sp-flt spt-g 200.0)
(sp-rnd-flt spt-b 200.0 55.0 1.0)
(sp-rnd-flt spt-a 96.0 32.0 1.0)
(sp-flt spt-vel-y (meters -0.006666667))
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-rnd-flt spt-accel-y -2.048 -1.3653333 1.0)
(sp-int spt-timer 900)
(sp-cpuinfo-flags bit2 bit12)
(sp-int spt-next-time 600)
(sp-launcher-by-id spt-next-launcher 1927)
)
)
(defpart 1926
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2))
(sp-flt spt-num 0.25)
(sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0)
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-z (meters -0.5) (meters 1) 1.0)
(sp-rnd-flt spt-scale-x (meters 1) (meters 0.25) 1.0)
(sp-rnd-flt spt-scale-y (meters 2.5) (meters 1) 1.0)
(sp-flt spt-r 200.0)
(sp-flt spt-g 200.0)
(sp-rnd-flt spt-b 200.0 55.0 1.0)
(sp-rnd-flt spt-a 32.0 96.0 1.0)
(sp-flt spt-vel-y (meters -0.006666667))
(sp-flt spt-fade-a -0.14222223)
(sp-rnd-flt spt-accel-y -2.048 -1.3653333 1.0)
(sp-int spt-timer 900)
(sp-cpuinfo-flags bit2 bit12)
)
)
(defpartgroup group-part-snow-torch
:id 534
:bounds (static-bspherem 0 3 0 4)
:parts
((sp-item 2041 :fade-after (meters 200) :falloff-to (meters 220))
(sp-item 2042 :fade-after (meters 140) :falloff-to (meters 1400))
(sp-item 2043 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90)
(sp-item 2044 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69)
(sp-item 2045 :fade-after (meters 50) :falloff-to (meters 50) :period 710 :length 51)
(sp-item 2046 :fade-after (meters 60) :falloff-to (meters 60))
)
)
(defpart 2046
:init-specs
((sp-flt spt-num 0.3)
(sp-flt spt-x (meters 0.2))
(sp-rnd-flt spt-y (meters 1) (meters 1) 1.0)
(sp-int spt-rot-x 5)
(sp-flt spt-r 4096.0)
(sp-flt spt-g 2867.2)
(sp-flt spt-b 3276.8)
(sp-rnd-flt spt-vel-x (meters 0) (meters 0.006666667) 1.0)
(sp-flt spt-vel-y (meters 0.026666667))
(sp-int spt-timer 180)
(sp-cpuinfo-flags aux-list)
(sp-int spt-next-time 120)
(sp-launcher-by-id spt-next-launcher 2047)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 2047
:init-specs
((sp-flt spt-fade-b -6.826667))
)
(defpart 2041
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-int spt-num 1069547520 1 1.0)
(sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0)
(sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 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-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 0.0 60.0 1.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0)
(sp-flt spt-fade-a 13.066667)
(sp-flt spt-accel-y -0.8192)
(sp-int spt-timer 75)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 15)
(sp-launcher-by-id spt-next-launcher 2048)
)
)
(defpart 2048
:init-specs
((sp-flt spt-fade-a -1.3333334))
)
(defpart 2043
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 1.5)
(sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0)
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-z (meters -0.4) (meters 0.8) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 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-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 0.0 60.0 1.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0)
(sp-flt spt-fade-a 13.066667)
(sp-flt spt-accel-y -0.8192)
(sp-int spt-timer 105)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 15)
(sp-launcher-by-id spt-next-launcher 2048)
)
)
(defpart 2044
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 1.5)
(sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0)
(sp-flt spt-y (meters 0.5))
(sp-rnd-flt spt-z (meters 0) (meters 0.4) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 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-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 0.0 60.0 1.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0)
(sp-flt spt-fade-a 13.066667)
(sp-flt spt-accel-y -0.8192)
(sp-int spt-timer 105)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 15)
(sp-launcher-by-id spt-next-launcher 2048)
)
)
(defpart 2045
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 2.0)
(sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0)
(sp-flt spt-y (meters 0.6))
(sp-rnd-flt spt-z (meters -0.6) (meters 0.6) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 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-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 0.0 60.0 1.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0)
(sp-flt spt-fade-a 13.066667)
(sp-flt spt-accel-y -0.8192)
(sp-int spt-timer 105)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 15)
(sp-launcher-by-id spt-next-launcher 2048)
)
)
(defpart 2042
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 0.4)
(sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0)
(sp-flt spt-y (meters 0.3))
(sp-rnd-flt spt-z (meters -0.5) (meters 1) 1.0)
(sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 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 96.0)
(sp-flt spt-b 96.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-flt spt-vel-y (meters 0.01))
(sp-flt spt-scalevel-x (meters 0.0005))
(sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.10666667)
(sp-flt spt-fade-g -0.053333335)
(sp-flt spt-fade-b -0.053333335)
(sp-flt spt-fade-a -0.08)
(sp-flt spt-accel-x 0.27306667)
(sp-flt spt-accel-y 0.13653333)
(sp-flt spt-friction 0.9975)
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit2)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpartgroup group-snow-mountain-snow :id 535 :bounds (static-bspherem 0 -16 -32 80) :parts ((sp-item 2093)))
(defpart 2093
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 0.06)
(sp-rnd-flt spt-x (meters -10) (meters 20) 1.0)
(sp-rnd-flt spt-y (meters -30) (meters 20) 1.0)
(sp-rnd-flt spt-z (meters -10) (meters 20) 1.0)
(sp-rnd-flt spt-scale-x (meters 30) (meters 20) 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-rnd-flt spt-r 196.0 64.0 1.0)
(sp-rnd-flt spt-g 196.0 64.0 1.0)
(sp-rnd-flt spt-b 196.0 64.0 1.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-z (meters -0.06666667) (meters -0.06666667) 1.0)
(sp-flt spt-scalevel-x (meters 0.033333335))
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a 0.053333335)
(sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0)
(sp-int spt-timer 3000)
(sp-cpuinfo-flags bit2 bit3 bit12 bit14)
(sp-int-plain-rnd spt-next-time 180 419 1)
(sp-launcher-by-id spt-next-launcher 2094)
)
)
(defpart 2094
:init-specs
((sp-flt spt-fade-a -0.035555556))
)
(defpartgroup group-snow-door-torch
:id 536
:bounds (static-bspherem 0 5 0 6)
:parts
((sp-item 2113 :fade-after (meters 240) :falloff-to (meters 240))
(sp-item 2114 :fade-after (meters 40) :falloff-to (meters 40) :period 492 :length 60)
(sp-item 2115 :fade-after (meters 240) :falloff-to (meters 240))
(sp-item 2116 :fade-after (meters 40) :falloff-to (meters 40) :period 369 :length 219)
(sp-item 2117 :fade-after (meters 40) :falloff-to (meters 40) :period 690 :length 90)
(sp-item 2118 :fade-after (meters 40) :falloff-to (meters 40) :period 918 :length 669)
(sp-item 2119 :fade-after (meters 40) :falloff-to (meters 40) :period 750 :length 30)
(sp-item 2120 :fade-after (meters 50) :falloff-to (meters 60))
)
)
(defpart 2120
:init-specs
((sp-flt spt-num 0.6)
(sp-rnd-flt spt-x (meters 0) (meters 2) 1.0)
(sp-flt spt-y (meters 2))
(sp-int spt-rot-x 5)
(sp-flt spt-r 8192.0)
(sp-flt spt-g 5898.24)
(sp-flt spt-b 6553.6)
(sp-rnd-flt spt-vel-x (meters 0) (meters 0.006666667) 1.0)
(sp-flt spt-vel-y (meters 0.053333335))
(sp-int spt-timer 180)
(sp-cpuinfo-flags aux-list)
(sp-int spt-next-time 120)
(sp-launcher-by-id spt-next-launcher 2121)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 2121
:init-specs
((sp-flt spt-fade-b -10.922667))
)
(defpart 2113
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 0.75 0.6 1.0)
(sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
(sp-flt spt-y (meters 0.5))
(sp-rnd-flt spt-z (meters -0.5) (meters 1.5) 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 1.8) 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-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 32.0 64.0 1.0)
(sp-flt spt-a 96.0)
(sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.016666668) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0)
(sp-flt spt-fade-g 0.32)
(sp-flt spt-fade-b 0.32)
(sp-flt spt-fade-a -0.5416667)
(sp-flt spt-accel-y -0.054613337)
(sp-int-plain-rnd spt-timer 90 59 1)
(sp-cpuinfo-flags bit2 bit3 bit14)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-flt spt-conerot-z (degrees 15.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 2114
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-int spt-num 1058642330 1 1.3)
(sp-rnd-flt spt-x (meters 0) (meters 1) 1.0)
(sp-flt spt-y (meters 0.5))
(sp-rnd-flt spt-z (meters 0) (meters 1) 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 1.8) 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-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 32.0 64.0 1.0)
(sp-flt spt-a 96.0)
(sp-rnd-int-flt spt-vel-y (meters 0.04) 1 40.96)
(sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0)
(sp-flt spt-fade-g 0.32)
(sp-flt spt-fade-b 0.32)
(sp-flt spt-fade-a -0.5)
(sp-flt spt-accel-y -0.054613337)
(sp-int spt-timer 150)
(sp-cpuinfo-flags bit2 bit3 bit14)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-flt spt-conerot-z (degrees 15.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 2115
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 0.3 0.6 1.0)
(sp-rnd-flt spt-x (meters -1) (meters 2) 1.0)
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-z (meters -1) (meters 2) 1.0)
(sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 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 64.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 32.0)
(sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0)
(sp-flt spt-scalevel-x (meters 0.011111111))
(sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a -0.0627451)
(sp-flt spt-accel-y -0.54613334)
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit2 bit14)
(sp-int-plain-rnd spt-next-time 30 59 1)
(sp-launcher-by-id spt-next-launcher 2122)
(sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 2123
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 0.1 0.2 1.0)
(sp-rnd-flt spt-x (meters -1) (meters 2) 1.0)
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-z (meters -1) (meters 2) 1.0)
(sp-rnd-flt spt-scale-x (meters 4) (meters 2) 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 64.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 32.0)
(sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.005) 1.0)
(sp-flt spt-scalevel-x (meters 0.0055555557))
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a -0.0627451)
(sp-flt spt-accel-y -0.27306667)
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit2 bit14)
(sp-int-plain-rnd spt-next-time 30 59 1)
(sp-launcher-by-id spt-next-launcher 2122)
(sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 2122
:init-specs
((sp-flt spt-fade-g 0.26666668)
(sp-flt spt-fade-b 0.53333336)
(sp-int spt-next-time 120)
(sp-launcher-by-id spt-next-launcher 2124)
)
)
(defpart 2124
:init-specs
((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0))
)
(defpart 2116
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 0.6 0.7 1.0)
(sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0)
(sp-flt spt-y (meters 0.5))
(sp-rnd-flt spt-z (meters -1.2) (meters 2.4) 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 1.8) 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-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 32.0 64.0 1.0)
(sp-flt spt-a 96.0)
(sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0)
(sp-flt spt-fade-g 0.32)
(sp-flt spt-fade-b 0.32)
(sp-flt spt-fade-a -0.5416667)
(sp-flt spt-accel-y -0.054613337)
(sp-int-plain-rnd spt-timer 90 59 1)
(sp-cpuinfo-flags bit2 bit3 bit14)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-flt spt-conerot-z (degrees -15.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 2117
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-int spt-num 1056964608 1 0.9)
(sp-rnd-flt spt-x (meters -1.2) (meters 1) 1.0)
(sp-flt spt-y (meters 1.25))
(sp-rnd-flt spt-z (meters -1.2) (meters 1) 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 1.8) 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-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 32.0 64.0 1.0)
(sp-flt spt-a 96.0)
(sp-rnd-int-flt spt-vel-y (meters 0.03) 1 40.96)
(sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0)
(sp-flt spt-fade-g 0.32)
(sp-flt spt-fade-b 0.32)
(sp-flt spt-fade-a -0.5)
(sp-flt spt-accel-y -0.054613337)
(sp-int spt-timer 150)
(sp-cpuinfo-flags bit2 bit3 bit14)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-flt spt-conerot-z (degrees -15.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 2118
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 0.75 1.2 1.0)
(sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0)
(sp-flt spt-y (meters 0.5))
(sp-rnd-flt spt-z (meters -1.2) (meters 2) 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 1.8) 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-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 32.0 64.0 1.0)
(sp-flt spt-a 96.0)
(sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.008333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0)
(sp-flt spt-fade-g 0.32)
(sp-flt spt-fade-b 0.32)
(sp-flt spt-fade-a -0.5416667)
(sp-flt spt-accel-y -0.054613337)
(sp-int-plain-rnd spt-timer 90 59 1)
(sp-cpuinfo-flags bit2 bit3 bit14)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-flt spt-conerot-z (degrees 0.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 2119
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-int spt-num 1060320051 1 1.6)
(sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
(sp-flt spt-y (meters 1.25))
(sp-rnd-flt spt-z (meters -1) (meters 1) 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 1.8) 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-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 32.0 64.0 1.0)
(sp-flt spt-a 96.0)
(sp-rnd-int-flt spt-vel-y (meters 0.03) 1 34.133335)
(sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0)
(sp-flt spt-fade-g 0.32)
(sp-flt spt-fade-b 0.32)
(sp-flt spt-fade-a -0.5)
(sp-flt spt-accel-y -0.054613337)
(sp-int spt-timer 150)
(sp-cpuinfo-flags bit2 bit3 bit14)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-flt spt-conerot-z (degrees 0.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpartgroup group-snow-birds
:id 537
:bounds (static-bspherem 0 8 0 45)
:parts
((sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243)
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
(sp-item 2243 :flags (start-dead launch-asap) :binding 2244)
(sp-item 2244 :flags (is-3d start-dead))
)
)
(defun snow-bird-bob-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
(set! (-> arg2 y) (+ (-> (the-as process-drawable (-> arg1 key proc)) root trans y)
(* -2048.0 (sin (* 218.45334 (the float (mod (-> *display* base-frame-counter) 300)))))
)
)
0
(none)
)
(defpart 2245
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-func spt-birth-func 'birth-func-random-next-time)
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters -70) (meters 140) 1.0)
(sp-flt spt-y (meters 0))
(sp-rnd-flt spt-z (meters -70) (meters 140) 1.0)
(sp-flt spt-scale-x (meters 1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-a 0.0)
(sp-int spt-timer -1)
(sp-cpuinfo-flags bit3)
(sp-flt spt-userdata 199.98)
(sp-func spt-func 'snow-bird-bob-func)
)
)
(defun sparticle-snow-birds-moon ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
(set! (-> arg2 vector 1 z) (the float (sar (shl (the int (+ -16384.0 (-> arg1 omega))) 48) 48)))
0
(none)
)
(defpart 2243
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-func spt-birth-func 'birth-func-copy-omega-to-z)
(sp-flt spt-num 1.0)
(sp-flt spt-x (meters 0))
(sp-flt spt-y (meters 0))
(sp-flt spt-z (meters 30))
(sp-flt spt-scale-x (meters 0))
(sp-flt spt-rot-z (degrees 0.0))
(sp-flt spt-r 32.0)
(sp-flt spt-g 32.0)
(sp-flt spt-b 32.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-flt spt-vel-x (meters 0.0044444446))
(sp-flt spt-vel-z (meters 0))
(sp-flt spt-scalevel-x (meters 0.04))
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit3 bit7)
(sp-func spt-func 'sparticle-snow-birds-moon)
(sp-int spt-next-time 199)
(sp-launcher-by-id spt-next-launcher 2246)
)
)
(defpart 2246
:init-specs
((sp-flt spt-scale-x (meters 8))
(sp-flt spt-scalevel-x (meters -0.08))
(sp-int spt-timer 600)
(sp-int spt-next-time 100)
(sp-launcher-by-id spt-next-launcher 2247)
)
)
(defpart 2247
:init-specs
((sp-flt spt-scale-x (meters 0))
(sp-flt spt-scalevel-x (meters -0.04))
(sp-int spt-timer 600)
(sp-int spt-next-time 199)
(sp-launcher-by-id spt-next-launcher 2246)
)
)
(defpart 2244
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2))
(sp-func spt-birth-func 'birth-func-copy2-rot-color)
(sp-flt spt-num 2.0)
(sp-flt spt-scale-x (meters 4))
(sp-flt spt-scale-y (meters 1.5))
(sp-flt spt-a 128.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags bit2 bit9 bit12)
)
)