mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
cd68cb671e
Major change to how `deftype` shows up in our code: - the decompiler will no longer emit the `offset-assert`, `method-count-assert`, `size-assert` and `flag-assert` parameters. There are extremely few cases where having this in the decompiled code is helpful, as the types there come from `all-types` which already has those parameters. This also doesn't break type consistency because: - the asserts aren't compared. - the first step of the test uses `all-types`, which has the asserts, which will throw an error if they're bad. - the decompiler won't emit the `heap-base` parameter unless necessary now. - the decompiler will try its hardest to turn a fixed-offset field into an `overlay-at` field. It falls back to the old offset if all else fails. - `overlay-at` now supports field "dereferencing" to specify the offset that's within a field that's a structure, e.g.: ```lisp (deftype foobar (structure) ((vec vector :inline) (flags int32 :overlay-at (-> vec w)) ) ) ``` in this structure, the offset of `flags` will be 12 because that is the final offset of `vec`'s `w` field within this structure. - **removed ID from all method declarations.** IDs are only ever automatically assigned now. Fixes #3068. - added an `:overlay` parameter to method declarations, in order to declare a new method that goes on top of a previously-defined method. Syntax is `:overlay <method-name>`. Please do not ever use this. - added `state-methods` list parameter. This lets you quickly specify a list of states to be put in the method table. Same syntax as the `states` list parameter. The decompiler will try to put as many states in this as it can without messing with the method ID order. Also changes `defmethod` to make the first type definition (before the arguments) optional. The type can now be inferred from the first argument. Fixes #3093. --------- Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
833 lines
26 KiB
Common Lisp
833 lines
26 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: hideout-part.gc
|
|
;; name in dgo: hideout-part
|
|
;; dgos: HIDEOUT
|
|
|
|
;; og:ignore-from-loc
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(deftype hide-part (part-spawner)
|
|
()
|
|
)
|
|
|
|
|
|
(defpartgroup group-hide-barrel-fire
|
|
:id 771
|
|
:bounds (static-bspherem 0 3 0 4)
|
|
:parts ((sp-item 3360 :fade-after (meters 50) :falloff-to (meters 80))
|
|
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period (seconds 0.335) :length (seconds 0.167))
|
|
(sp-item 3362 :fade-after (meters 50) :falloff-to (meters 80) :period (seconds 0.4) :length (seconds 0.185) :offset 20)
|
|
(sp-item 3363 :fade-after (meters 50) :falloff-to (meters 80) :period (seconds 0.535) :length (seconds 0.1) :offset 35)
|
|
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period (seconds 0.85) :length (seconds 0.2) :offset 65)
|
|
(sp-item 3362 :fade-after (meters 50) :falloff-to (meters 80) :period (seconds 1.25) :length (seconds 0.135) :offset 15)
|
|
(sp-item 3363 :fade-after (meters 50) :falloff-to (meters 80) :period (seconds 1.435) :length (seconds 0.167) :offset 85)
|
|
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period (seconds 2) :length (seconds 0.235) :offset 100)
|
|
(sp-item 3362 :fade-after (meters 50) :falloff-to (meters 80) :period (seconds 4.167) :length (seconds 0.15) :offset 450)
|
|
(sp-item 3363 :fade-after (meters 50) :falloff-to (meters 80) :period (seconds 5) :length (seconds 0.085) :offset 115)
|
|
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period (seconds 7) :length (seconds 0.185) :offset 80)
|
|
(sp-item 3364 :fade-after (meters 40) :falloff-to (meters 40) :binding 3359)
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3359 :flags (bit1 start-dead launch-asap))
|
|
(sp-item 3365 :fade-after (meters 60) :falloff-to (meters 80))
|
|
(sp-item 3366 :fade-after (meters 50) :falloff-to (meters 50))
|
|
(sp-item 3367 :flags (bit6))
|
|
)
|
|
)
|
|
|
|
(defpart 3367
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xca :page #xc))
|
|
(:num 1.0)
|
|
(:y (meters 0.5))
|
|
(:scale-x (meters 5) (meters 0.1))
|
|
(:rot-x (degrees 45))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 0.0 128.0)
|
|
(:b 0.0)
|
|
(:a 12.0)
|
|
(:fade-a -0.4)
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 10240.0)
|
|
)
|
|
)
|
|
|
|
(defpart 3364
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x26 :page #xc))
|
|
(:num 0.0 1.0)
|
|
(:sound (static-sound-spec "fire-pop" :volume 10000.0))
|
|
(:x (meters -0.3) (meters 0.6))
|
|
(:scale-x (meters 0.1))
|
|
(:scale-y :copy scale-x)
|
|
(:r 256.0)
|
|
(:g 0.0)
|
|
(:b 0.0)
|
|
(:a 0.0)
|
|
(:vel-y (meters 0.013333334) (meters 0.026666667))
|
|
(:accel-y (meters -0.000033333334) (meters -0.00006666667))
|
|
(:friction 0.96)
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-1 sp-cpuinfo-flag-3))
|
|
(:conerot-x (degrees -20) (degrees 40))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 3359
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
|
|
(:num 1.0)
|
|
(:x (meters 0) (meters 16))
|
|
(:y (meters 0) (meters 16))
|
|
(:z (meters 0.1) (meters 0.3))
|
|
(:scale-x (meters 0.1))
|
|
(:scale-y :copy scale-x)
|
|
(:r 256.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 96.0 32.0)
|
|
(:omega (degrees 0) (degrees 360))
|
|
(:vel-x (meters -0.026666667) (meters 0.053333335))
|
|
(:vel-y (meters 0))
|
|
(:vel-z (meters -0.0013333333) (meters 0.0026666666))
|
|
(:fade-r 0.0)
|
|
(:fade-g -0.7111111)
|
|
(:fade-b -0.7111111)
|
|
(:fade-a -0.42666668)
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-1 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 ready-to-launch))
|
|
(:next-time (seconds 0.6))
|
|
(:next-launcher 3368)
|
|
)
|
|
)
|
|
|
|
(defpart 3368
|
|
:init-specs ((:fade-r -1.0666667) (:fade-g 1.0666667) (:fade-b 1.0666667))
|
|
)
|
|
|
|
(defpart 3361
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x33 :page #xc))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 8.0 8.0)
|
|
(:x (meters 0) (meters -0.25))
|
|
(:y (meters -0.8))
|
|
(:scale-x (meters 0.3) (meters 0.2))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 240.0 15.0)
|
|
(:g 200.0 16.0)
|
|
(:b 160.0 16.0)
|
|
(:a 32.0 32.0)
|
|
(:vel-x (meters 0.00033333333))
|
|
(:vel-y (meters 0.006666667) (meters 0.006666667))
|
|
(:rotvel-z (degrees -0.4) (degrees 0.8))
|
|
(:fade-r -2.1333334 -1.0666667)
|
|
(:fade-g -4.266667 -2.1333334)
|
|
(:fade-b -5.3333335)
|
|
(:accel-y (meters -0.0001))
|
|
(:timer (seconds 0.535) (seconds 0.265))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300))
|
|
(:next-time (seconds 0.1) (seconds 0.03))
|
|
(:next-launcher 3369)
|
|
(:conerot-x (degrees -8) 4 (degrees 4))
|
|
(:conerot-y (degrees -180) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 87))
|
|
(:conerot-radius (meters 0) (meters 0.5))
|
|
)
|
|
)
|
|
|
|
(defpart 3362
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x33 :page #xc))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 8.0 8.0)
|
|
(:x (meters 0) (meters -0.25))
|
|
(:y (meters -0.8))
|
|
(:scale-x (meters 0.3) (meters 0.2))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 240.0 15.0)
|
|
(:g 200.0 16.0)
|
|
(:b 160.0 16.0)
|
|
(:a 32.0 32.0)
|
|
(:vel-x (meters 0.00033333333))
|
|
(:vel-y (meters 0.006666667) (meters 0.006666667))
|
|
(:rotvel-z (degrees -0.4) (degrees 0.8))
|
|
(:fade-r -2.1333334 -1.0666667)
|
|
(:fade-g -4.266667 -2.1333334)
|
|
(:fade-b -5.3333335)
|
|
(:accel-y (meters -0.0001))
|
|
(:timer (seconds 0.535) (seconds 0.265))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300))
|
|
(:next-time (seconds 0.1) (seconds 0.03))
|
|
(:next-launcher 3369)
|
|
(:conerot-x (degrees -8) 4 (degrees 4))
|
|
(:conerot-y (degrees -180) (degrees 360))
|
|
(:rotate-y (degrees 120) (degrees 90))
|
|
(:conerot-radius (meters 0) (meters 0.5))
|
|
)
|
|
)
|
|
|
|
(defpart 3363
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x33 :page #xc))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 8.0 8.0)
|
|
(:x (meters 0) (meters -0.25))
|
|
(:y (meters -0.8))
|
|
(:scale-x (meters 0.3) (meters 0.2))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 240.0 15.0)
|
|
(:g 200.0 16.0)
|
|
(:b 160.0 16.0)
|
|
(:a 32.0 32.0)
|
|
(:vel-x (meters 0.00033333333))
|
|
(:vel-y (meters 0.006666667) (meters 0.006666667))
|
|
(:rotvel-z (degrees -0.4) (degrees 0.8))
|
|
(:fade-r -2.1333334 -1.0666667)
|
|
(:fade-g -4.266667 -2.1333334)
|
|
(:fade-b -5.3333335)
|
|
(:accel-y (meters -0.0001))
|
|
(:timer (seconds 0.535) (seconds 0.265))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300))
|
|
(:next-time (seconds 0.1) (seconds 0.03))
|
|
(:next-launcher 3369)
|
|
(:conerot-x (degrees -8) 4 (degrees 4))
|
|
(:conerot-y (degrees -180) (degrees 360))
|
|
(:rotate-y (degrees 240) (degrees 110))
|
|
(:conerot-radius (meters 0) (meters 0.5))
|
|
)
|
|
)
|
|
|
|
(defpart 3369
|
|
:init-specs ((:b 0.0)
|
|
(:fade-r 0.0)
|
|
(:fade-g 0.0)
|
|
(:fade-b 0.0)
|
|
(:fade-a -0.4 -0.2)
|
|
(:next-time (seconds 0.135) (seconds 0.03))
|
|
(:next-launcher 3370)
|
|
)
|
|
)
|
|
|
|
(defpart 3370
|
|
:init-specs ((:fade-r -0.125) (:fade-g 0.4) (:fade-b 0.4))
|
|
)
|
|
|
|
(defpart 3360
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x33 :page #xc))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 1.0 5.0)
|
|
(:x (meters 0) (meters -0.25))
|
|
(:y (meters -0.8))
|
|
(:scale-x (meters 0.5) (meters 0.3))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 32.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 16.0 16.0)
|
|
(:vel-x (meters 0.00033333333))
|
|
(:vel-y (meters 0.006666667) (meters 0.006666667))
|
|
(:rotvel-z (degrees -0.4) (degrees 0.8))
|
|
(:fade-a -0.16 -0.16)
|
|
(:accel-y (meters -0.0001))
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-4))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300))
|
|
(:conerot-x (degrees -8) 4 (degrees 4))
|
|
(:conerot-y (degrees -180) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.5))
|
|
)
|
|
)
|
|
|
|
(defpart 3365
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 0.5)
|
|
(:x (meters -0.25) (meters 0.5))
|
|
(:scale-x (meters 1) (meters 0.5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 196.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 8.0 8.0)
|
|
(:vel-y (meters 0.01) (meters 0.01))
|
|
(:scalevel-x (meters 0.006666667))
|
|
(:rotvel-z (degrees -0.2) (degrees 0.4))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r -0.64)
|
|
(:fade-g -0.32)
|
|
(:fade-b -0.32)
|
|
(:fade-a -0.017777778 -0.026666667)
|
|
(:accel-y (meters -0.000006666667))
|
|
(:friction 0.99)
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2))
|
|
(:next-time (seconds 0.5) (seconds 0.165))
|
|
(:next-launcher 3371)
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 3371
|
|
:init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0))
|
|
)
|
|
|
|
(defpart 3366
|
|
:init-specs ((:num 0.6)
|
|
(:x (meters 0) (meters 0.2))
|
|
(:rot-x 8)
|
|
(:r 1638.4)
|
|
(:g 1331.2)
|
|
(:b 1433.6)
|
|
(:vel-x (meters 0) (meters 0.006666667))
|
|
(:vel-y (meters 0.02) (meters 0.013333334))
|
|
(:friction 0.96)
|
|
(:timer (seconds 1))
|
|
(:flags (distort))
|
|
(:next-time (seconds 0.5))
|
|
(:next-launcher 3372)
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 3372
|
|
:init-specs ((:fade-b -0.68266666))
|
|
)
|
|
|
|
(defpartgroup group-hide-moth
|
|
:id 772
|
|
:bounds (static-bspherem 0 0 0 3)
|
|
:parts ((sp-item 3375 :flags (bit1) :period (seconds 60) :length (seconds 0.017) :binding 3373)
|
|
(sp-item 3373 :flags (start-dead launch-asap) :binding 3374)
|
|
(sp-item 3373 :flags (start-dead launch-asap) :binding 3374)
|
|
(sp-item 3374 :flags (is-3d start-dead))
|
|
(sp-item 3374 :flags (is-3d start-dead))
|
|
(sp-item 3376 :flags (bit6))
|
|
(sp-item 3377 :flags (bit6))
|
|
)
|
|
)
|
|
|
|
(defpart 3376
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(:num 1.0)
|
|
(:y (meters -0.1))
|
|
(:scale-x (meters 0.75) (meters 0.1))
|
|
(:rot-x (degrees 2.25))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 255.0)
|
|
(:b 255.0)
|
|
(:a 24.0)
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 2048.0)
|
|
)
|
|
)
|
|
|
|
(defpart 3377
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(:num 1.0)
|
|
(:y (meters -0.1))
|
|
(:scale-x (meters 3) (meters 0.1))
|
|
(:rot-x (degrees 2.25))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 255.0)
|
|
(:b 255.0)
|
|
(:a 4.0 2.0)
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 2048.0)
|
|
)
|
|
)
|
|
|
|
(defpart 3375
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
|
|
(:num 1.0)
|
|
(:scale-x (meters 1.1))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:a 0.0)
|
|
(:timer (seconds 60))
|
|
(:flags (sp-cpuinfo-flag-3))
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 3373
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
|
|
(:num 1.0)
|
|
(:y (meters 0) (meters 16))
|
|
(:z (meters 1.5))
|
|
(:scale-x (meters 1.1))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 0.0)
|
|
(:omega (degrees 0) (degrees 360))
|
|
(:vel-x (meters 0.0044444446) (meters 0.0044444446))
|
|
(:vel-y (meters 0.008888889) (meters 0.008888889))
|
|
(:vel-z (meters 0))
|
|
(:timer (seconds 60))
|
|
(:flags (sp-cpuinfo-flag-3 ready-to-launch))
|
|
(:next-time (seconds 0.5) (seconds 1.497))
|
|
(:next-launcher 3378)
|
|
)
|
|
)
|
|
|
|
(defpart 3378
|
|
:init-specs ((:vel-x (meters -0.035555556) (meters 0.07111111))
|
|
(:vel-y (meters -0.0148148155) (meters 0.029629631))
|
|
(:rotvel-z (degrees -0.4) (degrees 0.8))
|
|
(:next-time (seconds 0.5) (seconds 1.497))
|
|
(:next-launcher 3378)
|
|
)
|
|
)
|
|
|
|
(defpart 3374
|
|
:init-specs ((:texture (new 'static 'texture-id :page #x3e7))
|
|
(:birth-func 'birth-func-copy-rot-color)
|
|
(:num 2.0)
|
|
(:scale-x (meters 0.2))
|
|
(:rot-x (degrees -60) (degrees 300))
|
|
(:scale-y (meters 0.2))
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 aux-list sp-cpuinfo-flag-12))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hide-fireplace-sparks
|
|
:id 773
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 3379 :period (seconds 8) :length (seconds 0.017))
|
|
(sp-item 3379 :period (seconds 10.517) :length (seconds 0.035))
|
|
(sp-item 3379 :period (seconds 12.717) :length (seconds 0.017))
|
|
(sp-item 3379 :period (seconds 15.9) :length (seconds 0.035))
|
|
)
|
|
)
|
|
|
|
(defpart 3379
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x92 :page #xc))
|
|
(:num 1.0 1.0)
|
|
(:y (meters -0.5) (meters 1))
|
|
(:z (meters -0.2) (meters 0.4))
|
|
(:scale-x (meters 0.075) (meters 0.025))
|
|
(:rot-x 4)
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.04))
|
|
(:r 200.0 55.0)
|
|
(:g 100.0 100.0)
|
|
(:b :copy g)
|
|
(:a 128.0)
|
|
(:omega (degrees 0.00225))
|
|
(:vel-y (meters 0.046666667) (meters 0.06666667))
|
|
(:scalevel-x (meters -0.00008333333))
|
|
(:rotvel-z (degrees -1.2) (degrees 2.4))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-g -0.4)
|
|
(:fade-b -0.8)
|
|
(:accel-y (meters -0.003))
|
|
(:friction 0.85 0.04)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
|
|
(:userdata -19660.8)
|
|
(:func 'check-drop-level-hide-fireplace-sparks)
|
|
(:conerot-x (degrees 45) (degrees 40))
|
|
(:conerot-y (degrees 80) (degrees 20))
|
|
(:rotate-y (degrees -90))
|
|
(:conerot-radius (meters 0) (meters 0.5))
|
|
)
|
|
)
|
|
|
|
(defpart 3380
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
|
|
(:num 1.0 1.0)
|
|
(:scale-x (meters 0.075) (meters 0.025))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.1) (meters 0.025))
|
|
(:r 200.0 55.0)
|
|
(:g 100.0 100.0)
|
|
(:b :copy g)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.0033333334) (meters 0.006666667))
|
|
(:rotvel-z (degrees -1.2) (degrees 2.4))
|
|
(:fade-g -0.4)
|
|
(:fade-b -0.8)
|
|
(:fade-a -0.42666668 -0.85333335)
|
|
(:accel-y (meters -0.00025) (meters -0.00008333333))
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:conerot-x (degrees 10) (degrees 60))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 3381
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
|
|
(:num 1.0)
|
|
(:scale-x (meters 0.075) (meters 0.025))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.1) (meters 0.025))
|
|
(:r 200.0 55.0)
|
|
(:g 100.0 100.0)
|
|
(:b :copy g)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0) (meters 0.006666667))
|
|
(:rotvel-z (degrees -1.2) (degrees 2.4))
|
|
(:fade-g -0.10666667)
|
|
(:fade-b -0.8)
|
|
(:friction 0.94 0.02)
|
|
(:timer (seconds 8))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 1.5) (seconds 0.497))
|
|
(:next-launcher 3382)
|
|
(:conerot-x (degrees 90))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 3382
|
|
:init-specs ((:rotvel-z (degrees 0)) (:fade-a -0.10666667 -0.10666667))
|
|
)
|
|
|
|
(defun check-drop-level-hide-fireplace-sparks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
|
(sparticle-motion-blur arg0 arg1 arg2)
|
|
(when (< (-> arg2 y) (-> arg1 user-float))
|
|
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
|
(sp-kill-particle arg0 arg1)
|
|
(set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0)
|
|
(launch-particles (-> *part-id-table* 3380) gp-0)
|
|
(launch-particles (-> *part-id-table* 3381) gp-0)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup group-hide-ceilingsmoke :id 774 :bounds (static-bspherem 0 0 0 12) :parts ((sp-item 3383)))
|
|
|
|
(defpart 3383
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 0.4)
|
|
(:y (meters -0.5) (meters -0.5))
|
|
(:scale-x (meters 2) (meters 6))
|
|
(:scale-y (meters 1) (meters 0.5))
|
|
(:r 64.0 16.0)
|
|
(:g 64.0)
|
|
(:b 64.0)
|
|
(:a 0.0)
|
|
(:vel-y (meters -0.0033333334) (meters 0.006666667))
|
|
(:fade-a 0.026666667)
|
|
(:friction 0.99)
|
|
(:timer (seconds 15))
|
|
(:flags (sp-cpuinfo-flag-2))
|
|
(:next-time (seconds 1) (seconds 0.997))
|
|
(:next-launcher 3384)
|
|
(:conerot-x (degrees 90))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 10))
|
|
)
|
|
)
|
|
|
|
(defpart 3384
|
|
:init-specs ((:fade-a 0.0) (:next-time (seconds 5)) (:next-launcher 3385))
|
|
)
|
|
|
|
(defpart 3385
|
|
:init-specs ((:fade-a -0.026666667))
|
|
)
|
|
|
|
(defpartgroup group-hideout-pipe
|
|
:id 775
|
|
:duration (seconds 0.017)
|
|
:flags (use-local-clock unk-4)
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 3386 :flags (bit7)))
|
|
)
|
|
|
|
(defpart 3386
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x49 :page #x3e7))
|
|
(:num 8.0 8.0)
|
|
(:x (meters 0) (meters 0.1))
|
|
(:z (meters -0.28))
|
|
(:scale-x (meters 0.07) (meters 0.05))
|
|
(:rot-x 4)
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 64.0)
|
|
(:b 32.0)
|
|
(:a 64.0 32.0)
|
|
(:omega (degrees 0.00675))
|
|
(:vel-z (meters 0.016666668) (meters 0.0033333334))
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.1) (seconds 0.015))
|
|
(:next-launcher 3387)
|
|
(:rotate-y (degrees 0))
|
|
(:rotate-z (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 3387
|
|
:init-specs ((:scale-x (meters 0.005) (meters 0.04))
|
|
(:scale-y :copy scale-x)
|
|
(:vel-x (meters -0.01) (meters 0.02))
|
|
(:vel-y (meters -0.01) (meters 0.02))
|
|
(:vel-z (meters -0.01) (meters 0.013333334))
|
|
(:accel-y (meters -0.00033333333) (meters -0.00033333333))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hideout-mouth
|
|
:id 776
|
|
:duration (seconds 0.017)
|
|
:flags (use-local-clock unk-4)
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 3388 :flags (bit7))
|
|
(sp-item 3389 :flags (bit7))
|
|
(sp-item 3390 :flags (bit7))
|
|
(sp-item 3391 :flags (bit7))
|
|
)
|
|
)
|
|
|
|
(defpart 3388
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 4.0 2.0)
|
|
(:x (meters -0.05))
|
|
(:scale-x (meters 0.01) (meters 0.03))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 16.0 32.0)
|
|
(:vel-x (meters 0.013333334) (meters 0.013333334))
|
|
(:vel-y (meters -0.006666667) (meters 0.013333334))
|
|
(:vel-z (meters -0.006666667) (meters 0.013333334))
|
|
(:scalevel-x (meters 0.013333334) (meters 0.013333334))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.85333335 -0.85333335)
|
|
(:accel-y (meters -0.00033333333) (meters -0.00033333333))
|
|
(:friction 0.93 0.03)
|
|
(:timer (seconds 0.5))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpart 3389
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 4.0 2.0)
|
|
(:x (meters -0.05))
|
|
(:scale-x (meters 0.01) (meters 0.03))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 64.0)
|
|
(:b 32.0)
|
|
(:a 16.0 32.0)
|
|
(:vel-x (meters 0.013333334) (meters 0.013333334))
|
|
(:vel-y (meters -0.006666667) (meters 0.013333334))
|
|
(:vel-z (meters -0.006666667) (meters 0.013333334))
|
|
(:scalevel-x (meters 0.013333334) (meters 0.013333334))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.85333335 -0.85333335)
|
|
(:accel-y (meters -0.00033333333) (meters -0.00033333333))
|
|
(:friction 0.93 0.03)
|
|
(:timer (seconds 0.5))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpart 3390
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x49 :page #x3e7))
|
|
(:num 32.0 8.0)
|
|
(:x (meters -0.05))
|
|
(:scale-x (meters 0.005) (meters 0.015))
|
|
(:rot-x 4)
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 64.0)
|
|
(:b 32.0)
|
|
(:a 64.0 32.0)
|
|
(:omega (degrees 0.00067499996))
|
|
(:vel-x (meters 0.013333334) (meters 0.013333334))
|
|
(:vel-y (meters -0.006666667) (meters 0.013333334))
|
|
(:vel-z (meters -0.006666667) (meters 0.013333334))
|
|
(:fade-a -0.85333335)
|
|
(:accel-y (meters -0.00033333333) (meters -0.00033333333))
|
|
(:timer (seconds 0.25))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc))
|
|
(:func 'sparticle-motion-blur)
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpart 3391
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x21 :page #xc))
|
|
(:num 16.0 4.0)
|
|
(:x (meters -0.05))
|
|
(:scale-x (meters 0.01) (meters 0.005))
|
|
(:rot-x 4)
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 16.0 32.0)
|
|
(:omega (degrees 0.001125))
|
|
(:vel-x (meters 0.013333334) (meters 0.013333334))
|
|
(:vel-y (meters -0.006666667) (meters 0.013333334))
|
|
(:vel-z (meters -0.006666667) (meters 0.013333334))
|
|
(:fade-a -0.85333335)
|
|
(:accel-y (meters -0.00033333333) (meters -0.00033333333))
|
|
(:timer (seconds 0.25))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
|
|
(:func 'sparticle-motion-blur)
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hideout-mud-drip
|
|
:id 777
|
|
:duration (seconds 0.017)
|
|
:flags (use-local-clock unk-4)
|
|
:bounds (static-bspherem 0 -2 0 3)
|
|
:parts ((sp-item 3392) (sp-item 3393 :flags (is-3d)))
|
|
)
|
|
|
|
(defpart 3393
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x49 :page #x3e7))
|
|
(:num 2.0)
|
|
(:y (meters -1.2))
|
|
(:z (meters -0.35))
|
|
(:scale-x (meters 0.07) (meters 0.04))
|
|
(:scale-y (meters 0.07) (meters 0.04))
|
|
(:r 128.0)
|
|
(:g 64.0)
|
|
(:b 32.0)
|
|
(:a 64.0 32.0)
|
|
(:scalevel-x (meters -0.000008333333) (meters -0.000008333333))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.32)
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-12))
|
|
(:conerot-x (degrees 90))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
(:conerot-radius (meters 0) (meters 0.5))
|
|
)
|
|
)
|
|
|
|
(defpart 3392
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x49 :page #x3e7))
|
|
(:num 1.0)
|
|
(:y (meters -0.1))
|
|
(:z (meters 0.35))
|
|
(:scale-x (meters 0.03) (meters 0.04))
|
|
(:rot-x 4)
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 64.0)
|
|
(:b 32.0)
|
|
(:a 64.0 32.0)
|
|
(:omega (degrees 0.018))
|
|
(:vel-z (meters -0.0033333334))
|
|
(:timer (seconds 2.167))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.335) (seconds -0.005))
|
|
(:next-launcher 3394)
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpart 3394
|
|
:init-specs ((:accel-y (meters -0.00046666668) (meters -0.00006666667))
|
|
(:friction 0.92)
|
|
(:next-time (seconds 0.82) (seconds -0.005))
|
|
(:next-launcher 3395)
|
|
)
|
|
)
|
|
|
|
(defpart 3395
|
|
:init-specs ((:vel-x (meters -0.006666667) (meters 0.013333334))
|
|
(:vel-y (meters 0.00066666666) (meters 0.006))
|
|
(:vel-z (meters -0.006666667) (meters 0.013333334))
|
|
(:friction 0.95)
|
|
)
|
|
)
|