mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -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>
1482 lines
47 KiB
Common Lisp
1482 lines
47 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: ruins-part.gc
|
|
;; name in dgo: ruins-part
|
|
;; dgos: RUI
|
|
|
|
;; og:ignore-from-loc
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(deftype ruins-part (part-spawner)
|
|
()
|
|
)
|
|
|
|
|
|
(defpartgroup group-ruins-streetlight-glows
|
|
:id 284
|
|
:bounds (static-bspherem 0 0 0 5)
|
|
:parts ((sp-item 1 :fade-after (meters 100) :flags (bit6) :hour-mask #b111111111110000000)
|
|
(sp-item 2 :fade-after (meters 300) :flags (bit6) :hour-mask #b111111111110000000)
|
|
)
|
|
)
|
|
|
|
(defpart 1
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(:num 1.0)
|
|
(:scale-x (meters 2) (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 8.0)
|
|
(:omega (degrees 2261.25))
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 2048.0)
|
|
)
|
|
)
|
|
|
|
(defpart 2
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(:num 1.0)
|
|
(:scale-x (meters 8) (meters 0.1))
|
|
(:rot-x (degrees 2.25))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 255.0 255.0)
|
|
(:b 255.0)
|
|
(:a 10.0 2.0)
|
|
(:omega (degrees 6765.7505))
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 2048.0)
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-dirt-collapse
|
|
:id 285
|
|
:duration (seconds 2)
|
|
:linger-duration (seconds 10)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 6 0 8)
|
|
:parts ((sp-item 1253 :period (seconds 7.335) :length (seconds 1.067) :binding 1251)
|
|
(sp-item 1253 :period (seconds 7.335) :length (seconds 0.667) :binding 1251)
|
|
(sp-item 1253 :period (seconds 7.335) :length (seconds 0.5) :binding 1251)
|
|
(sp-item 1253 :period (seconds 7.335) :length (seconds 0.335) :binding 1251)
|
|
(sp-item 1254 :period (seconds 7.335) :length (seconds 0.267) :binding 1252)
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1252 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
(sp-item 1251 :flags (bit1 start-dead))
|
|
)
|
|
)
|
|
|
|
(defun check-drop-level-ruins-rubble ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
|
|
"TODO docs"
|
|
(let ((f30-0 (-> arg1 key origin trans y)))
|
|
(when (< (-> arg2 vector 0 y) f30-0)
|
|
(let ((vec (new 'stack-no-clear 'vector)))
|
|
(sp-kill-particle arg0 arg1)
|
|
(set-vector! vec (-> arg2 vector 0 x) f30-0 (-> arg2 vector 0 z) 1.0)
|
|
(launch-particles (-> *part-id-table* 1255) vec)
|
|
(launch-particles (-> *part-id-table* 1256) vec)
|
|
(launch-particles (-> *part-id-table* 1257) vec)
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defpart 1252
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 0.0 0.25)
|
|
(:sound (static-sound-spec "debris-fall" :num 0.01 :volume 100.0))
|
|
(:scale-x (meters 0.3) (meters 0.1))
|
|
(:scale-y (meters 1) (meters 0.2))
|
|
(:r 80.0 16.0)
|
|
(:g 70.0 16.0)
|
|
(:b 70.0 16.0)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters -0.013333334) (meters -0.026666667))
|
|
(:scalevel-x (meters 0.0033333334) (meters 0.0016666667))
|
|
(:scalevel-y (meters 0) (meters 0.00033333333))
|
|
(:fade-a -0.042666666 -0.064)
|
|
(:accel-y (meters 0) (meters 0.00033333333))
|
|
(:timer (seconds 0.835))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:func 'check-drop-group-center)
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 1251
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 0.0 1.0)
|
|
(:scale-x (meters 0.3) (meters 0.1))
|
|
(:scale-y (meters 1) (meters 0.2))
|
|
(:r 80.0 16.0)
|
|
(:g 70.0 16.0)
|
|
(:b 70.0 16.0)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters -0.013333334) (meters -0.026666667))
|
|
(:scalevel-x (meters 0.0033333334) (meters 0.0016666667))
|
|
(:scalevel-y (meters 0) (meters 0.00033333333))
|
|
(:fade-a -0.042666666 -0.064)
|
|
(:accel-y (meters 0) (meters 0.00033333333))
|
|
(:timer (seconds 2.5))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:func 'check-drop-group-center)
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 1254
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x7 :page #x3e8))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 0.0 3.0)
|
|
(:x (meters 0) (meters 2))
|
|
(:y (meters 16))
|
|
(:scale-x (meters 0.1) (meters 0.3))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.1) (meters 0.3))
|
|
(:r 32.0 16.0)
|
|
(:g 24.0 16.0)
|
|
(:b 30.0 16.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters -0.053333335) (meters -0.013333334))
|
|
(:scalevel-x (meters -0.00000033333333))
|
|
(:rotvel-z (degrees -1.2) (degrees 2.4))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:timer (seconds 1.167))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata
|
|
:data (new 'static 'boxed-array :type int32 40 1 0 #x3e800700 #x3e800800 #x3e800900 #x3e800a00 #x3e800b00)
|
|
)
|
|
(:func 'check-drop-level-ruins-rubble)
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 1253
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x7 :page #x3e8))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 0.0 0.5)
|
|
(:x (meters 0) (meters 1))
|
|
(:y (meters 16))
|
|
(:scale-x (meters 0.1) (meters 0.3))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.1) (meters 0.3))
|
|
(:r 32.0 16.0)
|
|
(:g 24.0 16.0)
|
|
(:b 30.0 16.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters -0.053333335) (meters -0.013333334))
|
|
(:scalevel-x (meters -0.00000033333333))
|
|
(:rotvel-z (degrees -1.2) (degrees 2.4))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:timer (seconds 1.167))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata
|
|
:data (new 'static 'boxed-array :type int32 40 1 0 #x3e800700 #x3e800800 #x3e800900 #x3e800a00 #x3e800b00)
|
|
)
|
|
(:func 'check-drop-level-ruins-rubble)
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 1255
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x7 :page #x3e8))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 1.0 4.0)
|
|
(:scale-x (meters 0.05) (meters 0.15))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.05) (meters 0.15))
|
|
(:r 32.0 16.0)
|
|
(:g 24.0 16.0)
|
|
(:b 30.0 16.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.006666667) (meters 0.026666667))
|
|
(:rotvel-z (degrees -1.2) (degrees 2.4))
|
|
(:fade-a -0.42666668 -0.85333335)
|
|
(:accel-y (meters -0.00066666666))
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata
|
|
:data (new 'static 'boxed-array :type int32 40 1 0 #x3e800700 #x3e800800 #x3e800900 #x3e800a00 #x3e800b00)
|
|
)
|
|
(:conerot-x (degrees 10) (degrees 60))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 1256
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x7 :page #x3e8))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 1.0 2.0)
|
|
(:scale-x (meters 0.05) (meters 0.15))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.05) (meters 0.15))
|
|
(:r 32.0 16.0)
|
|
(:g 24.0 16.0)
|
|
(:b 30.0 16.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0) (meters 0.04))
|
|
(:rotvel-z (degrees -1.2) (degrees 2.4))
|
|
(:friction 0.94 0.02)
|
|
(:timer (seconds 8))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata
|
|
:data (new 'static 'boxed-array :type int32 40 1 0 #x3e800700 #x3e800800 #x3e800900 #x3e800a00 #x3e800b00)
|
|
)
|
|
(:next-time (seconds 1.5) (seconds 0.497))
|
|
(:next-launcher 1258)
|
|
(:conerot-x (degrees 90))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 1258
|
|
:init-specs ((:rotvel-z (degrees 0)) (:fade-a -0.10666667 -0.10666667))
|
|
)
|
|
|
|
(defpart 1257
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 1.0 1.0)
|
|
(:sound (static-sound-spec "debris-ground" :num 0.01 :volume 100.0))
|
|
(:scale-x (meters 1) (meters 0.5))
|
|
(:scale-y (meters 0.5) (meters 0.5))
|
|
(:r 80.0 16.0)
|
|
(:g 70.0 16.0)
|
|
(:b 70.0 16.0)
|
|
(:a 16.0 32.0)
|
|
(:vel-y (meters 0.013333334) (meters 0.026666667))
|
|
(:scalevel-x (meters 0.0033333334) (meters 0.0016666667))
|
|
(:scalevel-y (meters 0.0033333334) (meters 0.0016666667))
|
|
(:fade-a -0.026666667 -0.026666667)
|
|
(:accel-y (meters 0) (meters 0.00033333333))
|
|
(:friction 0.9 0.05)
|
|
(:timer (seconds 8))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:conerot-x (degrees 70) (degrees 20))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-brick-dust-floor
|
|
:id 286
|
|
:duration (seconds 0.017)
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1259 :fade-after (meters 60) :falloff-to (meters 60))
|
|
(sp-item 1260 :fade-after (meters 60) :falloff-to (meters 60))
|
|
(sp-item 1261 :fade-after (meters 120) :falloff-to (meters 120))
|
|
(sp-item 1262 :fade-after (meters 120) :falloff-to (meters 120))
|
|
(sp-item 1263)
|
|
)
|
|
)
|
|
|
|
(defpart 1259
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x7 :page #x3e8))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 4.0 8.0)
|
|
(:scale-x (meters 0.1) (meters 0.3))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.1) (meters 0.3))
|
|
(:r 192.0 64.0)
|
|
(:g 128.0 64.0)
|
|
(:b 128.0 32.0)
|
|
(:a 96.0 32.0)
|
|
(:vel-y (meters 0) (meters 0.10666667))
|
|
(:rotvel-z (degrees -1.2) (degrees 720))
|
|
(:fade-a -0.42666668 -0.42666668)
|
|
(:accel-y (meters -0.0013333333) (meters -0.00066666666))
|
|
(:friction 0.95)
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata
|
|
:data (new 'static 'boxed-array :type int32 40 1 0 #x3e800700 #x3e800800 #x3e800900 #x3e800a00 #x3e800b00)
|
|
)
|
|
(:conerot-x (degrees 80) (degrees 10))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.25))
|
|
)
|
|
)
|
|
|
|
(defpart 1260
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x7 :page #x3e8))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 4.0 8.0)
|
|
(:scale-x (meters 0.1) (meters 0.3))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.1) (meters 0.3))
|
|
(:r 128.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 96.0 32.0)
|
|
(:vel-y (meters 0) (meters 0.10666667))
|
|
(:rotvel-z (degrees -1.2) (degrees 720))
|
|
(:fade-a -0.42666668 -0.42666668)
|
|
(:accel-y (meters -0.0013333333) (meters -0.00066666666))
|
|
(:friction 0.95)
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata
|
|
:data (new 'static 'boxed-array :type int32 40 1 0 #x3e800700 #x3e800800 #x3e800900 #x3e800a00 #x3e800b00)
|
|
)
|
|
(:conerot-x (degrees 80) (degrees 10))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.25))
|
|
)
|
|
)
|
|
|
|
(defpart 1261
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 2.0 4.0)
|
|
(:scale-x (meters 2) (meters 1))
|
|
(:rot-z (degrees 0) 1 (degrees 180))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0 64.0)
|
|
(:g 96.0 32.0)
|
|
(:b 64.0 32.0)
|
|
(:a 8.0 24.0)
|
|
(:vel-y (meters 0.013333334) (meters 0.053333335))
|
|
(:scalevel-x (meters 0.013333334) (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.032 -0.032)
|
|
(:friction 0.95)
|
|
(:timer (seconds 6.667))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:conerot-x (degrees 80) (degrees 10))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.6))
|
|
)
|
|
)
|
|
|
|
(defpart 1262
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 2.0 4.0)
|
|
(:scale-x (meters 2) (meters 1))
|
|
(:rot-z (degrees 0) 1 (degrees 180))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 8.0 24.0)
|
|
(:vel-y (meters 0.013333334) (meters 0.053333335))
|
|
(:scalevel-x (meters 0.013333334) (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.032 -0.032)
|
|
(:friction 0.95)
|
|
(:timer (seconds 6.667))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:conerot-x (degrees 80) (degrees 10))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.6))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-brick-dust-wall
|
|
:id 287
|
|
:duration (seconds 0.017)
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1263)
|
|
(sp-item 1264 :fade-after (meters 60) :falloff-to (meters 60))
|
|
(sp-item 1265 :fade-after (meters 60) :falloff-to (meters 60))
|
|
(sp-item 1266 :fade-after (meters 120) :falloff-to (meters 120))
|
|
(sp-item 1267 :fade-after (meters 120) :falloff-to (meters 120))
|
|
)
|
|
)
|
|
|
|
(defpart 1263
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x47 :page #xc))
|
|
(:num 1.0)
|
|
(:scale-x (meters 5) (meters 2))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 192.0 64.0)
|
|
(:b :copy g)
|
|
(:a 16.0 16.0)
|
|
(:rotvel-z (degrees 0.3))
|
|
(:fade-a -1.6)
|
|
(:timer (seconds 0.067))
|
|
(:flags (sp-cpuinfo-flag-2))
|
|
)
|
|
)
|
|
|
|
(defpart 1264
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x7 :page #x3e8))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 4.0 8.0)
|
|
(:scale-x (meters 0.1) (meters 0.3))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.1) (meters 0.3))
|
|
(:r 192.0 64.0)
|
|
(:g 128.0 64.0)
|
|
(:b 128.0 32.0)
|
|
(:a 96.0 32.0)
|
|
(:vel-y (meters 0) (meters 0.10666667))
|
|
(:rotvel-z (degrees -1.2) (degrees 720))
|
|
(:fade-a -0.21333334 -0.21333334)
|
|
(:accel-y (meters -0.0013333333) (meters -0.00066666666))
|
|
(:friction 0.95)
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata
|
|
:data (new 'static 'boxed-array :type int32 40 1 0 #x3e800700 #x3e800800 #x3e800900 #x3e800a00 #x3e800b00)
|
|
)
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.25))
|
|
)
|
|
)
|
|
|
|
(defpart 1265
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x7 :page #x3e8))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 4.0 8.0)
|
|
(:scale-x (meters 0.1) (meters 0.3))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 0.1) (meters 0.3))
|
|
(:r 128.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 96.0 32.0)
|
|
(:vel-y (meters 0) (meters 0.10666667))
|
|
(:rotvel-z (degrees -1.2) (degrees 720))
|
|
(:fade-a -0.21333334 -0.21333334)
|
|
(:accel-y (meters -0.0013333333) (meters -0.00066666666))
|
|
(:friction 0.95)
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata
|
|
:data (new 'static 'boxed-array :type int32 40 1 0 #x3e800700 #x3e800800 #x3e800900 #x3e800a00 #x3e800b00)
|
|
)
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.25))
|
|
)
|
|
)
|
|
|
|
(defpart 1266
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 2.0 4.0)
|
|
(:scale-x (meters 2) (meters 1))
|
|
(:rot-z (degrees 0) 1 (degrees 180))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0 64.0)
|
|
(:g 96.0 32.0)
|
|
(:b 64.0 32.0)
|
|
(:a 8.0 24.0)
|
|
(:vel-y (meters 0.013333334) (meters 0.053333335))
|
|
(:scalevel-x (meters 0.013333334) (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.032 -0.032)
|
|
(:friction 0.95)
|
|
(:timer (seconds 6.667))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.6))
|
|
)
|
|
)
|
|
|
|
(defpart 1267
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 2.0 4.0)
|
|
(:scale-x (meters 2) (meters 1))
|
|
(:rot-z (degrees 0) 1 (degrees 180))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 8.0 24.0)
|
|
(:vel-y (meters 0.013333334) (meters 0.053333335))
|
|
(:scalevel-x (meters 0.013333334) (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.032 -0.032)
|
|
(:friction 0.95)
|
|
(:timer (seconds 6.667))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.6))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-brick-dust-slide
|
|
:id 288
|
|
:duration (seconds 0.017)
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1268 :fade-after (meters 120) :falloff-to (meters 120))
|
|
(sp-item 1269 :fade-after (meters 120) :falloff-to (meters 120))
|
|
)
|
|
)
|
|
|
|
(defpart 1268
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 1.0 2.0)
|
|
(:scale-x (meters 0.5) (meters 0.5))
|
|
(:rot-z (degrees 0) 1 (degrees 180))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0 64.0)
|
|
(:g 96.0 32.0)
|
|
(:b 64.0 32.0)
|
|
(:a 8.0 24.0)
|
|
(:vel-y (meters 0) (meters 0.026666667))
|
|
(:scalevel-x (meters 0.01) (meters 0.006666667))
|
|
(:scalevel-y (meters 0.0033333334) (meters 0.0033333334))
|
|
(:fade-a -0.032 -0.032)
|
|
(:friction 0.95)
|
|
(:timer (seconds 3.335))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:conerot-x (degrees 90))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.6))
|
|
)
|
|
)
|
|
|
|
(defpart 1269
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 1.0 2.0)
|
|
(:scale-x (meters 0.5) (meters 0.5))
|
|
(:rot-z (degrees 0) 1 (degrees 180))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 64.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 8.0 24.0)
|
|
(:vel-y (meters 0) (meters 0.026666667))
|
|
(:scalevel-x (meters 0.01) (meters 0.006666667))
|
|
(:scalevel-y (meters 0.0033333334) (meters 0.0033333334))
|
|
(:fade-a -0.032 -0.032)
|
|
(:friction 0.95)
|
|
(:timer (seconds 3.335))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:conerot-x (degrees 90))
|
|
(:conerot-y (degrees 0) (degrees 360))
|
|
(:conerot-radius (meters 0) (meters 0.6))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-birds
|
|
:id 289
|
|
:bounds (static-bspherem 0 8 0 45)
|
|
:parts ((sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1272 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 1270)
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
(sp-item 1270 :flags (start-dead launch-asap) :binding 1271)
|
|
(sp-item 1271 :flags (is-3d start-dead))
|
|
)
|
|
)
|
|
|
|
(defun ruins-bird-bob-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
|
|
"Move the bird particles up and down, on a sinusoidal period with a wavelength of 300 frames
|
|
TODO - check argument types / what birds?"
|
|
(set! (-> arg2 vector 0 y)
|
|
(+ (-> arg1 key proc root trans y) (* -2048.0 (sin (* 218.45334 (the float (mod (current-time) 300))))))
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defpart 1272
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
|
|
(:birth-func 'birth-func-random-next-time)
|
|
(:num 1.0)
|
|
(:x (meters -15) (meters 30))
|
|
(:y (meters 0) (meters 16))
|
|
(:z (meters -15) (meters 30))
|
|
(:scale-x (meters 1))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:a 0.0)
|
|
(:timer (seconds -0.005))
|
|
(:flags (sp-cpuinfo-flag-3))
|
|
(:userdata 199.98)
|
|
(:func 'ruins-bird-bob-func)
|
|
)
|
|
)
|
|
|
|
(defun sparticle-ruins-bird-moon ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
|
|
"TODO - investigate, what even is this?"
|
|
(set! (-> arg2 vector 1 z) (the float (sar (shl (the int (+ -16384.0 (-> arg1 omega))) 48) 48)))
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defpart 1270
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
|
|
(:birth-func 'birth-func-copy-omega-to-z)
|
|
(:num 1.0)
|
|
(:x (meters 0))
|
|
(:y (meters 0))
|
|
(:z (meters 30) (meters 30))
|
|
(:scale-x (meters 0))
|
|
(:rot-z (degrees 0))
|
|
(:r 32.0 64.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 0.0)
|
|
(:omega (degrees 0) (degrees 360))
|
|
(:vel-x (meters 0.0014814815) (meters 0.0014814815))
|
|
(:vel-z (meters 0))
|
|
(:scalevel-x (meters -0.04))
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-3 ready-to-launch))
|
|
(:func 'sparticle-ruins-bird-moon)
|
|
(:next-time (seconds 0.665))
|
|
(:next-launcher 1273)
|
|
)
|
|
)
|
|
|
|
(defpart 1273
|
|
:init-specs ((:scale-x (meters 8))
|
|
(:scalevel-x (meters -0.08))
|
|
(:timer (seconds 2))
|
|
(:next-time (seconds 0.335))
|
|
(:next-launcher 1274)
|
|
)
|
|
)
|
|
|
|
(defpart 1274
|
|
:init-specs ((:scale-x (meters 0))
|
|
(:scalevel-x (meters -0.04))
|
|
(:timer (seconds 2))
|
|
(:next-time (seconds 0.665))
|
|
(:next-launcher 1273)
|
|
)
|
|
)
|
|
|
|
(defpart 1271
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x1 :page #x3e8))
|
|
(:birth-func 'birth-func-copy2-rot-color)
|
|
(:num 2.0)
|
|
(:scale-x (meters 5))
|
|
(:scale-y (meters 2))
|
|
(:a 128.0)
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-pillar-collapse-explosion
|
|
:id 290
|
|
:linger-duration (seconds 3)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 64)
|
|
:parts ((sp-item 1275) (sp-item 1276) (sp-item 1277) (sp-item 1278))
|
|
)
|
|
|
|
(defpart 1275
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 10.0)
|
|
(:x (meters 0) (meters 0.6))
|
|
(:y (meters 4))
|
|
(:scale-x (meters 4.8) (meters 2.8))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 64.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters 0.033333335) (meters 0.04))
|
|
(:scalevel-x (meters 0.009333333) (meters 0.009333333))
|
|
(:rotvel-z (degrees -0.12) (degrees 0.24))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.32 0.32)
|
|
(:friction 0.94 0.04)
|
|
(:timer (seconds 8))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.235) (seconds 0.097))
|
|
(:next-launcher 1279)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpart 1279
|
|
:init-specs ((:scalevel-x (meters 0.0046666665))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.0)
|
|
(:next-time (seconds 0.335) (seconds 0.497))
|
|
(:next-launcher 1280)
|
|
)
|
|
)
|
|
|
|
(defpart 1280
|
|
:init-specs ((:scalevel-x (meters 0.0033333334)) (:scalevel-y :copy scalevel-x) (:fade-a -0.21333334 -0.10666667))
|
|
)
|
|
|
|
(defpart 1276
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x32 :page #xc))
|
|
(:num 10.0 20.0)
|
|
(:x (meters 0.25))
|
|
(:y (meters 4))
|
|
(:scale-x (meters 1) (meters 2))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 96.0 32.0)
|
|
(:b 64.0 32.0)
|
|
(:a 16.0 32.0)
|
|
(:vel-y (meters 0) (meters 0.13333334))
|
|
(:scalevel-x (meters 0.006666667) (meters 0.0033333334))
|
|
(:rotvel-z (degrees -0.12) (degrees 0.24))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.00016666666) (meters -0.00066666666))
|
|
(:friction 0.88 0.02)
|
|
(:timer (seconds 20))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.235) (seconds 0.097))
|
|
(:next-launcher 1281)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
(:conerot-radius (meters 0) (meters 3))
|
|
)
|
|
)
|
|
|
|
(defpart 1281
|
|
:init-specs ((:scalevel-x (meters 0.01))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:next-time (seconds 0.3) (seconds 0.097))
|
|
(:next-launcher 1282)
|
|
)
|
|
)
|
|
|
|
(defpart 1282
|
|
:init-specs ((:scalevel-x (meters 0.0033333334)) (:scalevel-y :copy scalevel-x) (:fade-a -0.053333335 -0.053333335))
|
|
)
|
|
|
|
(defpart 1277
|
|
:init-specs ((:birth-func 'birth-func-texture-group)
|
|
(:num 10.0 20.0)
|
|
(:y (meters 4))
|
|
(:scale-x (meters 3.5) (meters 1.75))
|
|
(:rot-z (degrees 0) (degrees 3600) :store)
|
|
(:scale-y (meters 4.5) (meters 2))
|
|
(:r 64.0 64.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters 0.05) (meters 0.1))
|
|
(:scalevel-x (meters 0.02) (meters 0.02))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.13333334)
|
|
(:friction 0.92 0.02)
|
|
(:timer (seconds 6.667))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 80 1 0 #xc00000 #xc03300))
|
|
(:next-time (seconds 0.167))
|
|
(:next-launcher 1283)
|
|
(:conerot-x '*sp-temp*)
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
(:conerot-radius (meters 0) (meters 2))
|
|
)
|
|
)
|
|
|
|
(defpart 1278
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x34 :page #xc))
|
|
(:num 10.0 20.0)
|
|
(:y (meters 4))
|
|
(:scale-x (meters 3.5) (meters 1.75))
|
|
(:rot-x 4)
|
|
(:rot-z (degrees 0) (degrees 360) :store)
|
|
(:scale-y (meters 4.5) (meters 2))
|
|
(:r 64.0 64.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters 0.05) (meters 0.1))
|
|
(:scalevel-x (meters 0.02) (meters 0.02))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.13333334)
|
|
(:friction 0.92 0.02)
|
|
(:timer (seconds 6.667))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.167))
|
|
(:next-launcher 1283)
|
|
(:conerot-x '*sp-temp*)
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
(:conerot-radius (meters 0) (meters -5))
|
|
)
|
|
)
|
|
|
|
(defpart 1283
|
|
:init-specs ((:scalevel-x (meters 0.02) (meters 0.02))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:next-time (seconds 0.2) (seconds 0.065))
|
|
(:next-launcher 1284)
|
|
)
|
|
)
|
|
|
|
(defpart 1284
|
|
:init-specs ((:scalevel-x (meters 0.01) (meters 0.01)) (:scalevel-y :copy scalevel-x) (:fade-a -0.18 -0.12))
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-trailer
|
|
:id 291
|
|
:duration (seconds 0.017)
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1285))
|
|
)
|
|
|
|
(defpart 1285
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 0.5 0.6)
|
|
(:scale-x (meters 1) (meters 3))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 0.0)
|
|
(:vel-y (meters 0) (meters 0.01))
|
|
(:scalevel-x (meters 0.0033333334) (meters 0.01))
|
|
(:rotvel-z (degrees -0.3) (degrees 0.6))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.4 0.4)
|
|
(:friction 0.98)
|
|
(:timer (seconds 2.167))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.135))
|
|
(:next-launcher 1286)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:conerot-radius (meters 0) (meters 1))
|
|
)
|
|
)
|
|
|
|
(defpart 1286
|
|
:init-specs ((:fade-a -0.053333335 -0.053333335))
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-splash
|
|
:id 292
|
|
:duration (seconds 2)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 32)
|
|
:parts ((sp-item 1287 :period (seconds 3) :length (seconds 0.135))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.1))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.067))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.035))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.017))
|
|
(sp-item 1288 :flags (is-3d) :period (seconds 3) :length (seconds 0.1))
|
|
(sp-item 1289 :flags (is-3d) :period (seconds 3) :length (seconds 0.1))
|
|
)
|
|
)
|
|
|
|
(defpart 1289
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x2c :page #xc))
|
|
(:num 3.0)
|
|
(:x (meters 0) (meters 16))
|
|
(:y (meters 0))
|
|
(:scale-x (meters 5) (meters 10))
|
|
(:rot-y (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 32.0 32.0)
|
|
(:scalevel-x (meters 0.033333335) (meters 0.05))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.053333335 -0.053333335)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 1288
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x33 :page #xc))
|
|
(:num 2.0)
|
|
(:y (meters 0) (meters 4))
|
|
(:scale-x (meters 20))
|
|
(:rot-y (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 64.0)
|
|
(:vel-y (meters 0.05) (meters 0.016666668))
|
|
(:scalevel-x (meters 0.25) (meters 0.25))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.53333336)
|
|
(:accel-y (meters -0.005))
|
|
(:timer (seconds 0.8))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
|
|
)
|
|
)
|
|
|
|
(defpart 1287
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x21 :page #xc))
|
|
(:num 16.0)
|
|
(:y (meters 3))
|
|
(:scale-x (meters 0.6) (meters 0.05))
|
|
(:rot-x 4)
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 255.0)
|
|
(:b 255.0)
|
|
(:a 16.0 32.0)
|
|
(:omega (degrees 0.045) (degrees 0.0225))
|
|
(:vel-y (meters 0.23333333) (meters 0.26666668))
|
|
(:accel-y (meters -0.005) (meters -0.00066666666))
|
|
(:friction 0.95)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
|
|
(:userdata 0.0)
|
|
(:func 'check-drop-level-ruins-tower-userdata)
|
|
(:conerot-x (degrees 70) (degrees 15))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:conerot-radius (meters 0) (meters 4))
|
|
)
|
|
)
|
|
|
|
(defpart 1290
|
|
:init-specs ((:r 64.0 64.0)
|
|
(:g 0.0)
|
|
(:b 128.0 128.0)
|
|
(:fade-r -6.4)
|
|
(:fade-b -12.8)
|
|
(:next-time (seconds 0) (seconds 0.747))
|
|
(:next-launcher 1290)
|
|
)
|
|
)
|
|
|
|
(defpart 1291
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x2c :page #xc))
|
|
(:num 0.3)
|
|
(:scale-x (meters 2) (meters 2.5))
|
|
(:rot-y (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 255.0)
|
|
(:b 255.0)
|
|
(:a 0.0)
|
|
(:scalevel-x (meters 0.04) (meters 0.013333334))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 6.4)
|
|
(:timer (seconds 0.5))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.067))
|
|
(:next-launcher 1292)
|
|
)
|
|
)
|
|
|
|
(defpart 1292
|
|
:init-specs ((:fade-a -0.53333336 -0.53333336))
|
|
)
|
|
|
|
(defun check-drop-level-ruins-tower-userdata-nosplat ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
|
"TODO - docs"
|
|
(when (< (-> arg2 y) (-> arg1 user-float))
|
|
(let ((vec (new 'stack-no-clear 'vector)))
|
|
(sp-kill-particle arg0 arg1)
|
|
(set! (-> vec x) (-> arg2 x))
|
|
(set! (-> vec y) (-> arg1 user-float))
|
|
(set! (-> vec z) (-> arg2 z))
|
|
(set! (-> vec w) 1.0)
|
|
)
|
|
)
|
|
(sparticle-motion-blur arg0 arg1 arg2)
|
|
(none)
|
|
)
|
|
|
|
(defun check-drop-level-ruins-tower-userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
|
"TODO - docs"
|
|
(when (< (-> arg2 y) (-> arg1 user-float))
|
|
(let ((vec (new 'stack-no-clear 'vector)))
|
|
(sp-kill-particle arg0 arg1)
|
|
(set-vector! vec (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0)
|
|
(launch-particles :system *sp-particle-system-3d* (-> *part-id-table* 1291) vec)
|
|
)
|
|
)
|
|
(sparticle-motion-blur arg0 arg1 arg2)
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-trailer-small
|
|
:id 293
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1293))
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-explosion-small
|
|
:id 294
|
|
:duration (seconds 3)
|
|
:linger-duration (seconds 2)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1294 :period (seconds 32) :length (seconds 0.085))
|
|
(sp-item 1295 :period (seconds 32) :length (seconds 0.035) :offset 10)
|
|
(sp-item 1296 :period (seconds 32) :length (seconds 0.335) :offset 25)
|
|
(sp-item 1297 :period (seconds 32) :length (seconds 0.117) :offset 10)
|
|
(sp-item 1298 :period (seconds 32) :length (seconds 0.167) :offset 15)
|
|
(sp-item 1299 :period (seconds 32) :length (seconds 0.167) :offset 15)
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-explosion-medium
|
|
:id 295
|
|
:duration (seconds 3)
|
|
:linger-duration (seconds 2)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1294 :period (seconds 32) :length (seconds 0.085))
|
|
(sp-item 1295 :period (seconds 32) :length (seconds 0.035) :offset 10)
|
|
(sp-item 1296 :period (seconds 32) :length (seconds 0.335) :offset 25)
|
|
(sp-item 1297 :period (seconds 32) :length (seconds 0.117) :offset 10)
|
|
(sp-item 1298 :period (seconds 32) :length (seconds 0.167) :offset 15)
|
|
(sp-item 1299 :period (seconds 32) :length (seconds 0.167) :offset 15)
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-explosion-large
|
|
:id 296
|
|
:duration (seconds 3)
|
|
:linger-duration (seconds 2)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1294 :period (seconds 32) :length (seconds 0.085))
|
|
(sp-item 1295 :period (seconds 32) :length (seconds 0.035) :offset 10)
|
|
(sp-item 1296 :period (seconds 32) :length (seconds 0.335) :offset 25)
|
|
(sp-item 1297 :period (seconds 32) :length (seconds 0.117) :offset 10)
|
|
(sp-item 1298 :period (seconds 32) :length (seconds 0.167) :offset 15)
|
|
(sp-item 1299 :period (seconds 32) :length (seconds 0.167) :offset 15)
|
|
)
|
|
)
|
|
|
|
(defpart 1297
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
|
|
(:num 32.0)
|
|
(:y (meters -3.5) (meters 2))
|
|
(:scale-x (meters 3.5))
|
|
(:rot-x 4)
|
|
(:scale-y (meters 0.3) (meters 0.5))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 64.0 32.0)
|
|
(:omega (degrees 0.0675))
|
|
(:vel-y (meters 0.5) (meters 0.6666667))
|
|
(:fade-b -8.0)
|
|
(:accel-y (meters -0.0033333334) (meters -0.0016666667))
|
|
(:friction 0.9 0.08)
|
|
(:timer (seconds 1.5) (seconds 0.997))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.05))
|
|
(:next-launcher 1300)
|
|
(:conerot-x (degrees 0) (degrees 140))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpart 1300
|
|
:init-specs ((:fade-a -0.096 -0.096))
|
|
)
|
|
|
|
(defpart 1299
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x34 :page #xc))
|
|
(:num 8.0 5.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 13) (meters 12))
|
|
(:rot-x 4)
|
|
(:rot-z (degrees 0) (degrees 360) :store)
|
|
(:scale-y (meters 18) (meters 14))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters 0.2) (meters 0.5))
|
|
(:scalevel-x (meters 0.06666667) (meters 0.06666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.26666668)
|
|
(:friction 0.92 0.02)
|
|
(:timer (seconds 3.335))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.085))
|
|
(:next-launcher 1301)
|
|
(:conerot-x '*sp-temp*)
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
(:conerot-radius (meters 0) (meters 2))
|
|
)
|
|
)
|
|
|
|
(defpart 1301
|
|
:init-specs ((:scalevel-x (meters 0.033333335) (meters 0.033333335))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:next-time (seconds 0.1) (seconds 0.03))
|
|
(:next-launcher 1302)
|
|
)
|
|
)
|
|
|
|
(defpart 1302
|
|
:init-specs ((:scalevel-x (meters 0.016666668) (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.225 -0.225)
|
|
)
|
|
)
|
|
|
|
(defpart 1298
|
|
:init-specs ((:birth-func 'birth-func-texture-group)
|
|
(:num 8.0 5.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 13) (meters 12))
|
|
(:rot-z (degrees 0) (degrees 3600) :store)
|
|
(:scale-y (meters 18) (meters 14))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters 0.2) (meters 0.5))
|
|
(:scalevel-x (meters 0.06666667) (meters 0.06666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.26666668)
|
|
(:friction 0.92 0.02)
|
|
(:timer (seconds 3.335))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc03300))
|
|
(:next-time (seconds 0.085))
|
|
(:next-launcher 1301)
|
|
(:conerot-x '*sp-temp*)
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
(:conerot-radius (meters 0) (meters 2))
|
|
)
|
|
)
|
|
|
|
(defpart 1296
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x32 :page #xc))
|
|
(:num 6.0 8.0)
|
|
(:x (meters 0.25))
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 3) (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 16.0 48.0)
|
|
(:vel-y (meters 0.33333334) (meters 0.5))
|
|
(:scalevel-x (meters 0.033333335) (meters 0.033333335))
|
|
(:rotvel-z (degrees -0.12) (degrees 0.24))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.00033333333) (meters -0.0023333333))
|
|
(:friction 0.88 0.02)
|
|
(:timer (seconds 10))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.117) (seconds 0.047))
|
|
(:next-launcher 1303)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
(:conerot-radius (meters 5) (meters 20))
|
|
)
|
|
)
|
|
|
|
(defpart 1303
|
|
:init-specs ((:scalevel-x (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:next-time (seconds 0.15) (seconds 0.047))
|
|
(:next-launcher 1304)
|
|
)
|
|
)
|
|
|
|
(defpart 1304
|
|
:init-specs ((:scalevel-x (meters 0.006666667)) (:scalevel-y :copy scalevel-x) (:fade-a -0.10666667 -0.10666667))
|
|
)
|
|
|
|
(defpart 1294
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 4.0 4.0)
|
|
(:x (meters 0) (meters 0.6))
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 16.5) (meters 20))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 0.0)
|
|
(:vel-y (meters 0.33333334) (meters 0.4))
|
|
(:scalevel-x (meters 0.06666667) (meters 0.06666667))
|
|
(:rotvel-z (degrees -0.12) (degrees 0.24))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.32 0.32)
|
|
(:friction 0.89 0.04)
|
|
(:timer (seconds 8))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.117) (seconds 0.047))
|
|
(:next-launcher 1305)
|
|
(:conerot-x (degrees -1440) (degrees 2880))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpart 1305
|
|
:init-specs ((:scalevel-x (meters 0.033333335))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.0)
|
|
(:next-time (seconds 2) (seconds 1.997))
|
|
(:next-launcher 1306)
|
|
)
|
|
)
|
|
|
|
(defpart 1306
|
|
:init-specs ((:scalevel-x (meters 0.016666668)) (:scalevel-y :copy scalevel-x) (:fade-a -0.026666667 -0.026666667))
|
|
)
|
|
|
|
(defpart 1295
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x31 :page #xc))
|
|
(:num 4.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 16) (meters 16))
|
|
(:rot-x 4)
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 1) (meters 0.5))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 64.0 64.0)
|
|
(:scalevel-x (meters 0.26666668) (meters 0.33333334))
|
|
(:fade-a -0.7111111)
|
|
(:timer (seconds 0.3))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-trailer-medium
|
|
:id 297
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1293))
|
|
)
|
|
|
|
(defpart 1293
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 0.5 0.6)
|
|
(:y (meters 0) (meters -10))
|
|
(:scale-x (meters 12) (meters 12))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 0.0)
|
|
(:vel-y (meters 0) (meters 0.05))
|
|
(:scalevel-x (meters 0.026666667) (meters 0.04))
|
|
(:rotvel-z (degrees -0.3) (degrees 0.6))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.16 0.16)
|
|
(:accel-y (meters -0.00025) (meters -0.0001))
|
|
(:friction 0.98)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.5))
|
|
(:next-launcher 1286)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:conerot-radius (meters 0) (meters 16))
|
|
)
|
|
)
|
|
|
|
(defpart 1307
|
|
:init-specs ((:fade-a -0.04 -0.04))
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-splash-medium
|
|
:id 298
|
|
:duration (seconds 2)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 32)
|
|
:parts ((sp-item 1287 :period (seconds 3) :length (seconds 0.135))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.1))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.067))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.035))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.017))
|
|
(sp-item 1288 :flags (is-3d) :period (seconds 3) :length (seconds 0.1))
|
|
(sp-item 1289 :flags (is-3d) :period (seconds 3) :length (seconds 0.1))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-splash-large
|
|
:id 299
|
|
:duration (seconds 2)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 32)
|
|
:parts ((sp-item 1287 :period (seconds 3) :length (seconds 0.135))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.1))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.067))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.035))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.017))
|
|
(sp-item 1288 :flags (is-3d) :period (seconds 3) :length (seconds 0.1))
|
|
(sp-item 1289 :flags (is-3d) :period (seconds 3) :length (seconds 0.1))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-splash-small
|
|
:id 300
|
|
:duration (seconds 0.267)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1287 :period (seconds 3) :length (seconds 0.135))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.1))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.067))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.035))
|
|
(sp-item 1287 :period (seconds 3) :length (seconds 0.017))
|
|
(sp-item 1288 :flags (is-3d) :period (seconds 3) :length (seconds 0.1))
|
|
(sp-item 1289 :flags (is-3d) :period (seconds 3) :length (seconds 0.1))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-tower-trailer-large
|
|
:id 301
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 1308))
|
|
)
|
|
|
|
(defpart 1308
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 0.5 0.6)
|
|
(:scale-x (meters 20) (meters 20))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 0.0)
|
|
(:vel-y (meters 0.013333334) (meters 0.06666667))
|
|
(:scalevel-x (meters 0.04) (meters 0.053333335))
|
|
(:rotvel-z (degrees -0.3) (degrees 0.6))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.16 0.16)
|
|
(:accel-y (meters -0.00025) (meters -0.0001))
|
|
(:friction 0.98)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.5))
|
|
(:next-launcher 1286)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:conerot-radius (meters 0) (meters 16))
|
|
)
|
|
)
|