mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
e2e5289788
- `pecker-ingame` - `des-bbush-tasks` - `des-burning-bush` - `des-bush-part` - `des-bush` - `mh-centipede` - `mh-centipede-part` - `mh-wasp` - `mh-wasp-part` - `needle-fish` - `des-bush-time-chase` - `timer-path` - `mission-squad-control-h` - `mh-bat` - `hover-nav-factoryd` - `hover-nav-factoryc` - `conveyor` - `fac-part` - `factory-part` - `factoryc-mood` - `factoryc-obs` - `factoryc-obs2` - `lfaccar-init` - `factory-boss-part` - `factory-boss-scenes` - `factory-boss-setup` - `factory-boss-states` - `factory-mood` - `factoryc-manager` - `lfacrm1-mood` - `lfacrm2-mood` - `missile-bot` - `sew-laser-turret` - `ai-task-h` - `ash-h` - `ash-shot` - `ash-states` - `ash-task` - `ash` - `bot-h` - `bot-states` - `bot` - `ash-oasis-course` - `oasis-defense` - `comb-field` - `comb-mood` - `comb-obs` - `comb-part` - `comb-scenes` - `comb-sentry` - `comb-travel` - `comba-init` - `combx-scenes` - `h-sled` - `destroy-dark-eco` - `fac-gunturret` - `fac-robotank-turret` - `fac-robotank` - `fac-tower` - `factory-h` - `factory-hud` - `factory-manager` - `factorya-init` - `ffight-projectile` - `ftank-projectile` - `fturret-projectile` - `h-warf` - `warf-projectile`
1525 lines
53 KiB
Common Lisp
1525 lines
53 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: mh-centipede-part.gc
|
|
;; name in dgo: mh-centipede-part
|
|
;; dgos: LNSTOBB
|
|
|
|
(define-extern *range-mhcent-splash-color* curve-color-fast)
|
|
(define-extern *range-mhcent-splash-alpha* curve2d-fast)
|
|
(define-extern *range-mhcent-splash-scale-x* curve2d-fast)
|
|
(define-extern *range-mhcent-splash-scale-y* curve2d-fast)
|
|
(define-extern *curve-mhcent-splash-alpha* curve2d-fast)
|
|
(define-extern *curve-mhcent-splash-scale-x* curve2d-fast)
|
|
(define-extern *curve-mhcent-splash-scale-y* curve2d-fast)
|
|
(define-extern *range-mh-centipede-shot-explo-color* curve-color-fast)
|
|
(define-extern *range-mh-centipede-shot-explo-alpha* curve2d-fast)
|
|
(define-extern *range-mh-centipede-shot-explo-scale-x* curve2d-fast)
|
|
(define-extern *range-mh-centipede-shot-explo-scale-y* curve2d-fast)
|
|
(define-extern *curve-mh-centipede-shot-explo-alpha* curve2d-fast)
|
|
(define-extern *curve-mh-centipede-shot-explo-scale-x* curve2d-fast)
|
|
(define-extern *curve-mh-centipede-shot-explo-scale-y* curve2d-fast)
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun birth-func-ground-dirt-bounce ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(set! (-> arg1 omega) (-> arg2 launchrot y))
|
|
(none)
|
|
)
|
|
|
|
(defun spt-func-ground-dirt-bounce1 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(when (and (< (-> arg2 launchrot y) (-> arg1 omega)) (< (-> arg1 vel-sxvel y) 0.0))
|
|
(let ((s4-0 (new 'stack-no-clear 'vector)))
|
|
(sp-kill-particle arg0 arg1)
|
|
(set-vector! s4-0 (-> arg2 launchrot x) (-> arg1 omega) (-> arg2 launchrot z) 1.0)
|
|
(launch-particles (-> *part-id-table* 2493) s4-0)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun spt-func-ground-dirt-bounce2 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(when (and (< (-> arg2 launchrot y) (-> arg1 omega)) (< (-> arg1 vel-sxvel y) 0.0))
|
|
(let ((s4-0 (new 'stack-no-clear 'vector)))
|
|
(sp-kill-particle arg0 arg1)
|
|
(set-vector! s4-0 (-> arg2 launchrot x) (-> arg1 omega) (-> arg2 launchrot z) 1.0)
|
|
(launch-particles (-> *part-id-table* 2494) s4-0)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun spt-birth-func-brightness-mh-centipede-rocks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(let ((s5-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 21) 100))
|
|
(s3-0 (logand 0 (rand-uint31-gen *random-generator*)))
|
|
(s4-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 11) 20))
|
|
(v1-6 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 11) 60))
|
|
)
|
|
(set! (-> arg2 rotate-x) (the float (- s5-0 (the-as int s3-0))))
|
|
(set! (-> arg2 rotate-y) (the float (- s5-0 s4-0)))
|
|
(set! (-> arg2 rotate-z) (the float (- s5-0 v1-6)))
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun spt-birth-func-brightness-mh-centipede-dirt ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(let ((s5-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 31) 70))
|
|
(s3-0 (logand 0 (rand-uint31-gen *random-generator*)))
|
|
(s4-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 6) 25))
|
|
(v1-6 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 6) 60))
|
|
)
|
|
(set! (-> arg2 rotate-x) (the float (- s5-0 (the-as int s3-0))))
|
|
(set! (-> arg2 rotate-y) (the float (- s5-0 s4-0)))
|
|
(set! (-> arg2 rotate-z) (the float (- s5-0 v1-6)))
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun spt-birth-func-brightness-mh-centipede-dust ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(let ((s5-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 41) 70))
|
|
(s3-0 (logand 0 (rand-uint31-gen *random-generator*)))
|
|
(s4-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 6) 25))
|
|
(v1-6 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 6) 60))
|
|
)
|
|
(set! (-> arg2 rotate-x) (the float (- s5-0 (the-as int s3-0))))
|
|
(set! (-> arg2 rotate-y) (the float (- s5-0 s4-0)))
|
|
(set! (-> arg2 rotate-z) (the float (- s5-0 v1-6)))
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup group-mh-centipede-before-breach
|
|
:id 641
|
|
:duration (seconds 0.017)
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 0 0 12)
|
|
:parts ((sp-item 2495 :fade-after (meters 200) :falloff-to (meters 200))
|
|
(sp-item 2496 :fade-after (meters 200) :falloff-to (meters 200))
|
|
)
|
|
)
|
|
|
|
(defpart 2495
|
|
:init-specs ((:texture (dirtpuff01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-brightness-mh-centipede-dust)
|
|
(:num 0.5)
|
|
(:scale-x (meters 5) (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters 0.033333335) (meters 0.06666667))
|
|
(:scalevel-x (meters 0.016666668) (meters 0.016666668))
|
|
(:rotvel-z (degrees -0.1) (degrees 0.2))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.026666667 -0.026666667)
|
|
(:accel-y (meters 0.00033333333) (meters 0.001))
|
|
(:friction 0.96 0.02)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
|
|
(:conerot-x (degrees 80) (degrees 10))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 2496
|
|
:init-specs ((:texture (rockbit01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-before-breach-rocks)
|
|
(:num 1.0)
|
|
(:x (meters 0) (meters 10))
|
|
(:scale-x (meters 0.4) (meters 0.5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.023333333) (meters 0.023333333))
|
|
(:rotvel-z (degrees -5) (degrees 10))
|
|
(:accel-y (meters -0.001))
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-13))
|
|
(:userdata :data (new 'static 'boxed-array :type int32
|
|
10
|
|
1
|
|
0
|
|
#x408b00
|
|
#x408c00
|
|
#x40a100
|
|
#x40a200
|
|
#x40a300
|
|
#x40a400
|
|
#x40a500
|
|
#x40a600
|
|
#x40a700
|
|
#x40a800
|
|
#x40a900
|
|
#x40aa00
|
|
#x40ab00
|
|
#x40ac00
|
|
#x40ad00
|
|
#x40ae00
|
|
)
|
|
)
|
|
(:func 'spt-func-part-mh-centipede-before-breach-rocks)
|
|
(:conerot-x (degrees -5) (degrees 10))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-before-breach-rocks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-rocks arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defun spt-func-part-mh-centipede-before-breach-rocks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(sparticle-texture-animate arg0 arg1 (the-as vector arg2))
|
|
(check-drop-group-center arg0 arg1 arg2)
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup group-mh-centipede-breach
|
|
:id 642
|
|
:duration (seconds 0.017)
|
|
:flags (sp0)
|
|
:bounds (static-bspherem 0 0 0 12)
|
|
:parts ((sp-item 2497 :fade-after (meters 200) :falloff-to (meters 200))
|
|
(sp-item 2498 :fade-after (meters 200) :falloff-to (meters 200))
|
|
(sp-item 2499 :fade-after (meters 200) :falloff-to (meters 200))
|
|
)
|
|
)
|
|
|
|
(defpart 2497
|
|
:init-specs ((:texture (dirtpuff01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-brightness-mh-centipede-dust)
|
|
(:num 2.0)
|
|
(:scale-x (meters 5) (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 32.0 64.0)
|
|
(:vel-y (meters 0.013333334) (meters 0.1))
|
|
(:scalevel-x (meters 0.006666667) (meters 0.01))
|
|
(:rotvel-z (degrees -0.1) (degrees 0.2))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.064 -0.064)
|
|
(:accel-y (meters 0) (meters 0.00033333333))
|
|
(:friction 0.96)
|
|
(:timer (seconds 10))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
|
|
(:conerot-x (degrees 80) (degrees 10))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 2498
|
|
:init-specs ((:texture (water-drops level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-breach-dirt)
|
|
(:num 4.0)
|
|
(:x (meters 0) (meters 6))
|
|
(:y (meters 3))
|
|
(:scale-x (meters 2) (meters 4))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.033333335) (meters 0.06666667))
|
|
(:scalevel-x (meters 0.0033333334))
|
|
(:rotvel-z (degrees -0.2) (degrees 0.4))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.0033333334))
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-13))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x406500 #x404a00))
|
|
(:conerot-x (degrees 20))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-breach-dirt ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-dirt arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defpart 2499
|
|
:init-specs ((:texture (rockbit01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-breach-rocks)
|
|
(:num 4.0)
|
|
(:x (meters 3) (meters 2))
|
|
(:y (meters 0.5))
|
|
(:scale-x (meters 1) (meters 2))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 1) (meters 2))
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.06666667) (meters 0.06666667))
|
|
(:rotvel-z (degrees -1) (degrees 2))
|
|
(:accel-y (meters -0.0033333334))
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-13))
|
|
(:userdata :data (new 'static 'boxed-array :type int32
|
|
10
|
|
1
|
|
0
|
|
#x408b00
|
|
#x408c00
|
|
#x40a100
|
|
#x40a200
|
|
#x40a300
|
|
#x40a400
|
|
#x40a500
|
|
#x40a600
|
|
#x40a700
|
|
#x40a800
|
|
#x40a900
|
|
#x40aa00
|
|
#x40ab00
|
|
#x40ac00
|
|
#x40ad00
|
|
#x40ae00
|
|
)
|
|
)
|
|
(:func 'spt-func-part-mh-centipede-breach-rocks)
|
|
(:conerot-x (degrees 20))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-breach-rocks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-ground-dirt-bounce arg0 arg1 arg2 arg3 arg4)
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-rocks arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defun spt-func-part-mh-centipede-breach-rocks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(sparticle-texture-animate arg0 arg1 (the-as vector arg2))
|
|
(spt-func-ground-dirt-bounce1 arg0 arg1 arg2 (the-as none arg3) (the-as none arg4))
|
|
(none)
|
|
)
|
|
|
|
(defpart 2493
|
|
:init-specs ((:texture (rockbit01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-breach-rocks-bounce1)
|
|
(:num 1.0)
|
|
(:scale-x (meters 2) (meters 1) :store)
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 2) (meters 1))
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.016666668) (meters 0.033333335))
|
|
(:rotvel-z (degrees -1) (degrees 2))
|
|
(:accel-y (meters -0.0016666667))
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-13))
|
|
(:userdata :data (new 'static 'boxed-array :type int32
|
|
10
|
|
1
|
|
0
|
|
#x40ae00
|
|
#x40ad00
|
|
#x40ac00
|
|
#x40ab00
|
|
#x40aa00
|
|
#x40a900
|
|
#x40a800
|
|
#x40a700
|
|
#x40a600
|
|
#x40a500
|
|
#x40a400
|
|
#x40a300
|
|
#x40a200
|
|
#x40a100
|
|
#x408c00
|
|
#x408b00
|
|
)
|
|
)
|
|
(:func 'spt-func-part-mh-centipede-breach-rocks-bounce1)
|
|
(:conerot-x (degrees 5) (degrees 30))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-breach-rocks-bounce1 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-ground-dirt-bounce arg0 arg1 arg2 arg3 arg4)
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-rocks arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defun spt-func-part-mh-centipede-breach-rocks-bounce1 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(sparticle-texture-animate arg0 arg1 (the-as vector arg2))
|
|
(spt-func-ground-dirt-bounce2 arg0 arg1 arg2 (the-as none arg3) (the-as none arg4))
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch object vs none.
|
|
(defun spt-func-ground-dirt-bounce3 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(cond
|
|
((or (< (-> arg1 omega) (-> arg2 launchrot y)) (< 0.0 (-> arg1 vel-sxvel y)))
|
|
(sparticle-texture-animate arg0 arg1 (the-as vector arg2))
|
|
)
|
|
(else
|
|
(set! (-> arg1 acc x) 0.0)
|
|
(set! (-> arg1 acc y) 0.0)
|
|
(set! (-> arg1 acc z) 0.0)
|
|
(set! (-> arg1 vel-sxvel x) (* 0.7 (-> arg1 vel-sxvel x)))
|
|
(set! (-> arg1 vel-sxvel z) (* 0.7 (-> arg1 vel-sxvel z)))
|
|
(set! (-> arg2 launchrot y) (-> arg1 omega))
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defpart 2494
|
|
:init-specs ((:texture (rockbit01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-breach-rocks-bounce2)
|
|
(:num 1.0)
|
|
(:scale-x '*sp-temp*)
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 2) (meters 1))
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.0033333334) (meters 0.016666668))
|
|
(:scalevel-x (meters -0.0016666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.0016666667))
|
|
(:timer (seconds 10))
|
|
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-13))
|
|
(:userdata :data (new 'static 'boxed-array :type int32
|
|
10
|
|
1
|
|
0
|
|
#x408b00
|
|
#x408c00
|
|
#x40a100
|
|
#x40a200
|
|
#x40a300
|
|
#x40a400
|
|
#x40a500
|
|
#x40a600
|
|
#x40a700
|
|
#x40a800
|
|
#x40a900
|
|
#x40aa00
|
|
#x40ab00
|
|
#x40ac00
|
|
#x40ad00
|
|
#x40ae00
|
|
)
|
|
)
|
|
(:func 'spt-func-ground-dirt-bounce3)
|
|
(:conerot-x (degrees 5) (degrees 30))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-breach-rocks-bounce2 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-ground-dirt-bounce arg0 arg1 arg2 arg3 arg4)
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-rocks arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup group-mh-centipede-crater-mark
|
|
:id 643
|
|
:flags (sp0 sp1)
|
|
:bounds (static-bspherem 0 0 0 30)
|
|
:parts ((sp-item 2500 :flags (is-3d sp3 sp7)))
|
|
)
|
|
|
|
(defpart 2500
|
|
:init-specs ((:texture (crack01 desert-sprite))
|
|
(:num 1.0)
|
|
(:scale-x (meters 2) (meters 2))
|
|
(:scale-y (meters 2) (meters 2))
|
|
(:r 64.0 64.0)
|
|
(:g :copy r)
|
|
(:b :copy r)
|
|
(:a 0.0)
|
|
(:scalevel-x (meters 0.016666668) (meters 0.5))
|
|
(:scalevel-y (meters 0.016666668) (meters 0.033333335))
|
|
(:fade-a 2.56 0.85333335)
|
|
(:timer (seconds 10))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-4 left-multiply-quat))
|
|
(:next-time (seconds 0.085))
|
|
(:next-launcher 2501)
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
(defpart 2501
|
|
:init-specs ((:scalevel-x (meters 0))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.0)
|
|
(:next-time (seconds 2))
|
|
(:next-launcher 2502)
|
|
)
|
|
)
|
|
|
|
(defpart 2502
|
|
:init-specs ((:fade-a -0.08533333))
|
|
)
|
|
|
|
(defpartgroup group-mh-centipede-dirt-fall-off
|
|
:id 644
|
|
:duration (seconds 0.017)
|
|
:flags (sp0)
|
|
:bounds (static-bspherem 0 0 0 12)
|
|
:parts ((sp-item 2503 :fade-after (meters 200) :falloff-to (meters 200)))
|
|
)
|
|
|
|
(defpart 2503
|
|
:init-specs ((:texture (ceiling-dust lwassig-sprite))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 0.5)
|
|
(:scale-x (meters 5) (meters 2))
|
|
(:scale-y :copy scale-x)
|
|
(:r 100.0)
|
|
(:g 60.0 20.0)
|
|
(:b 30.0 10.0)
|
|
(:a 8.0 8.0)
|
|
(:scalevel-x (meters 0.0033333334))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.21333334 0.21333334)
|
|
(:accel-y (meters -0.00033333333) (meters -0.00066666666))
|
|
(:friction 0.96 0.02)
|
|
(:timer (seconds 10))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x6a200100 #x6a200100 #x405c00))
|
|
(:next-time (seconds 0.335))
|
|
(:next-launcher 2504)
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 2504
|
|
:init-specs ((:fade-a 0.0) (:next-time (seconds 0.5)) (:next-launcher 2505))
|
|
)
|
|
|
|
(defpart 2505
|
|
:init-specs ((:fade-a -0.053333335 -0.053333335))
|
|
)
|
|
|
|
(defpartgroup group-mh-centipede-impact
|
|
:id 645
|
|
:duration (seconds 0.017)
|
|
:flags (sp0)
|
|
:bounds (static-bspherem 0 0 0 12)
|
|
:parts ((sp-item 2506 :fade-after (meters 200) :falloff-to (meters 200))
|
|
(sp-item 2507 :fade-after (meters 200) :falloff-to (meters 200))
|
|
(sp-item 2508 :fade-after (meters 200) :falloff-to (meters 200))
|
|
)
|
|
)
|
|
|
|
(defpart 2506
|
|
:init-specs ((:texture (dirtpuff01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-brightness-mh-centipede-dust)
|
|
(:num 2.0)
|
|
(:scale-x (meters 5) (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 32.0 64.0)
|
|
(:vel-y (meters 0.013333334) (meters 0.1))
|
|
(:scalevel-x (meters 0.006666667) (meters 0.01))
|
|
(:rotvel-z (degrees -0.1) (degrees 0.2))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.064 -0.064)
|
|
(:accel-y (meters 0) (meters 0.00033333333))
|
|
(:friction 0.96)
|
|
(:timer (seconds 10))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
|
|
(:conerot-x (degrees 80) (degrees 10))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 2507
|
|
:init-specs ((:texture (water-drops level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-impact-dirt)
|
|
(:num 10.0)
|
|
(:x (meters 0) (meters 6))
|
|
(:y (meters 3))
|
|
(:scale-x (meters 2) (meters 4))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.033333335) (meters 0.06666667))
|
|
(:scalevel-x (meters 0.0033333334))
|
|
(:rotvel-z (degrees -0.2) (degrees 0.4))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.0033333334))
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-13))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x406500 #x404a00))
|
|
(:conerot-x (degrees 20))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-impact-dirt ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-dirt arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defpart 2508
|
|
:init-specs ((:texture (rockbit01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-impact-rocks)
|
|
(:num 4.0)
|
|
(:x (meters 3) (meters 2))
|
|
(:y (meters 2))
|
|
(:scale-x (meters 1) (meters 2) :store)
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 2) (meters 1))
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.06666667) (meters 0.06666667))
|
|
(:rotvel-z (degrees -1) (degrees 2))
|
|
(:accel-y (meters -0.0033333334))
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-13))
|
|
(:userdata :data (new 'static 'boxed-array :type int32
|
|
10
|
|
1
|
|
0
|
|
#x408b00
|
|
#x408c00
|
|
#x40a100
|
|
#x40a200
|
|
#x40a300
|
|
#x40a400
|
|
#x40a500
|
|
#x40a600
|
|
#x40a700
|
|
#x40a800
|
|
#x40a900
|
|
#x40aa00
|
|
#x40ab00
|
|
#x40ac00
|
|
#x40ad00
|
|
#x40ae00
|
|
)
|
|
)
|
|
(:func 'spt-func-part-mh-centipede-impact-rocks)
|
|
(:conerot-x (degrees 20))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-impact-rocks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-ground-dirt-bounce arg0 arg1 arg2 arg3 arg4)
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-rocks arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defun spt-func-part-mh-centipede-impact-rocks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(sparticle-texture-animate arg0 arg1 (the-as vector arg2))
|
|
(spt-func-ground-dirt-bounce1 arg0 arg1 arg2 (the-as none arg3) (the-as none arg4))
|
|
(none)
|
|
)
|
|
|
|
(defpart 2509
|
|
:init-specs ((:texture (rockbit01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-impact-rocks-bounce1)
|
|
(:num 1.0)
|
|
(:scale-x '*sp-temp*)
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 2) (meters 1))
|
|
(:r 70.0 50.0)
|
|
(:g :copy r)
|
|
(:b :copy r)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.016666668) (meters 0.033333335))
|
|
(:rotvel-z (degrees -1) (degrees 2))
|
|
(:accel-y (meters -0.0016666667))
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-13))
|
|
(:userdata :data (new 'static 'boxed-array :type int32
|
|
10
|
|
1
|
|
0
|
|
#x40ae00
|
|
#x40ad00
|
|
#x40ac00
|
|
#x40ab00
|
|
#x40aa00
|
|
#x40a900
|
|
#x40a800
|
|
#x40a700
|
|
#x40a600
|
|
#x40a500
|
|
#x40a400
|
|
#x40a300
|
|
#x40a200
|
|
#x40a100
|
|
#x408c00
|
|
#x408b00
|
|
)
|
|
)
|
|
(:func 'spt-func-part-mh-centipede-impact-rocks-bounce1)
|
|
(:conerot-x (degrees 5) (degrees 30))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-impact-rocks-bounce1 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-ground-dirt-bounce arg0 arg1 arg2 arg3 arg4)
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defun spt-func-part-mh-centipede-impact-rocks-bounce1 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(sparticle-texture-animate arg0 arg1 (the-as vector arg2))
|
|
(spt-func-ground-dirt-bounce2 arg0 arg1 arg2 (the-as none arg3) (the-as none arg4))
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup group-mh-centipede-impact-dust-up
|
|
:id 646
|
|
:duration (seconds 0.017)
|
|
:flags (sp0)
|
|
:bounds (static-bspherem 0 0 0 12)
|
|
:parts ((sp-item 2510 :fade-after (meters 200) :falloff-to (meters 200)))
|
|
)
|
|
|
|
(defpart 2510
|
|
:init-specs ((:texture (dirtpuff01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-brightness-mh-centipede-dust)
|
|
(:num 1.0)
|
|
(:scale-x (meters 5) (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 32.0 64.0)
|
|
(:vel-y (meters 0.16666667) (meters 0.016666668))
|
|
(:scalevel-x (meters 0.006666667) (meters 0.02))
|
|
(:rotvel-z (degrees -0.033333335) (degrees 0.06666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.06533334 -0.06533334)
|
|
(:accel-y (meters 0) (meters 0.00033333333))
|
|
(:friction 0.95 0.01)
|
|
(:timer (seconds 10))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
|
|
(:conerot-x (degrees 0) (degrees 20))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun spt-birth-func-brightness-mh-centipede-blood ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(let ((s5-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 81) 40))
|
|
(s3-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 11) 20))
|
|
(s4-0 (logand 0 (rand-uint31-gen *random-generator*)))
|
|
(v1-5 (+ (logand 0 (rand-uint31-gen *random-generator*)) 120))
|
|
)
|
|
(set! (-> arg2 rotate-x) (the float (- s5-0 s3-0)))
|
|
(set! (-> arg2 rotate-y) (the float (- s5-0 (the-as int s4-0))))
|
|
(set! (-> arg2 rotate-z) (the float (- s5-0 (the-as int v1-5))))
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup group-mh-centipede-death
|
|
:id 647
|
|
:flags (sp0)
|
|
:bounds (static-bspherem 0 0 0 50)
|
|
:parts ((sp-item 2511 :period (seconds 30) :length (seconds 0.135))
|
|
(sp-item 2512 :period (seconds 30) :length (seconds 0.135))
|
|
)
|
|
)
|
|
|
|
(defpart 2511
|
|
:init-specs ((:texture (water-drops level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-explosion-lots)
|
|
(:num 10.0)
|
|
(:x (meters -3) (meters 6))
|
|
(:y (meters -3) (meters 6))
|
|
(:z (meters -3) (meters 6))
|
|
(:scale-x (meters 3) (meters 3))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 64.0 64.0)
|
|
(:vel-y (meters 0) (meters 0.06666667))
|
|
(:scalevel-x (meters 0.016666668) (meters 0.016666668))
|
|
(:rotvel-z (degrees -0.2) (degrees 0.4))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.21333334 -0.21333334)
|
|
(:accel-y (meters -0.0026666666) (meters -0.0016666667))
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x406500 #x404a00))
|
|
(:next-time (seconds 0.5))
|
|
(:next-launcher 2513)
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-explosion-lots ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-blood arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defpart 2513
|
|
:init-specs ((:scalevel-x (meters 0.0033333334)) (:scalevel-y :copy scalevel-x))
|
|
)
|
|
|
|
(defpart 2512
|
|
:init-specs ((:texture (water-drops level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-explosion)
|
|
(:num 0.5)
|
|
(:x (meters -3) (meters 6))
|
|
(:y (meters -3) (meters 6))
|
|
(:z (meters -3) (meters 6))
|
|
(:scale-x (meters 3) (meters 3))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 64.0 64.0)
|
|
(:omega (degrees 0))
|
|
(:vel-y (meters 0) (meters 0.06666667))
|
|
(:scalevel-x (meters 0.016666668) (meters 0.016666668))
|
|
(:rotvel-z (degrees -0.2) (degrees 0.4))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.21333334 -0.21333334)
|
|
(:accel-y (meters -0.0033333334) (meters -0.0026666666))
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x406500 #x404a00))
|
|
(:func 'check-mh-centipede-explosion-level)
|
|
(:next-time (seconds 0.5))
|
|
(:next-launcher 2513)
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-explosion ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-blood arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup part-mh-centipede-explosion-splats
|
|
:id 648
|
|
:duration (seconds 5)
|
|
:flags (sp0 sp4)
|
|
:bounds (static-bspherem 0 -12 0 14)
|
|
:parts ((sp-item 2514 :period (seconds 20) :length (seconds 0.2))
|
|
(sp-item 2515 :period (seconds 20) :length (seconds 0.067) :offset 125)
|
|
(sp-item 2516 :flags (is-3d) :period (seconds 20) :length (seconds 0.067))
|
|
(sp-item 2517 :flags (is-3d) :period (seconds 20) :length (seconds 0.5) :offset 150)
|
|
(sp-item 2518 :period (seconds 20) :length (seconds 0.167) :offset 20)
|
|
)
|
|
)
|
|
|
|
(defpart 2514
|
|
:init-specs ((:texture (splash level-default-sprite))
|
|
(:birth-func 'birth-func-curve)
|
|
(:num 5.0)
|
|
(:scale-x (meters 1))
|
|
(:scale-y (meters 1))
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:vel-z (meters 0.06666667) (meters 0.006666667))
|
|
(:friction 0.96)
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
|
|
(:userdata 0.0)
|
|
(:func 'live-func-curve)
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *range-mhcent-splash-color* (new 'static 'curve-color-fast
|
|
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
|
|
:ys (new 'static 'inline-array vector 4
|
|
(new 'static 'vector :x 20.0 :y 40.0 :w 128.0)
|
|
(new 'static 'vector :x 90.0 :y 128.0 :w 128.0)
|
|
(new 'static 'vector :x 90.0 :y 128.0 :w 128.0)
|
|
(new 'static 'vector :x 90.0 :y 128.0 :w 128.0)
|
|
)
|
|
:one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *range-mhcent-splash-alpha* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
|
|
:ys (new 'static 'vector :x 64.0 :y 128.0 :z 129.0 :w 130.0)
|
|
:one-over-x-deltas (new 'static 'vector :x 64.0 :y 1.0 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *range-mhcent-splash-scale-x* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
|
|
:ys (new 'static 'vector :x 1.0 :y 2.0 :z 3.0 :w 4.0)
|
|
:one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *range-mhcent-splash-scale-y* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
|
|
:ys (new 'static 'vector :x 1.0 :y 4.0 :z 5.0 :w 6.0)
|
|
:one-over-x-deltas (new 'static 'vector :x 3.0 :y 1.0 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *curve-mhcent-splash-alpha* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -0.1 :z -1.0 :w -2.0)
|
|
:ys (new 'static 'vector :y 1.0 :w 1.0)
|
|
:one-over-x-deltas (new 'static 'vector :x 10.0 :y -1.1111112 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *curve-mhcent-splash-scale-x* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
|
|
:ys (new 'static 'vector :x 1.0 :y 2.0 :z 3.0 :w 4.0)
|
|
:one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *curve-mhcent-splash-scale-y* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -0.4 :z -0.7 :w -1.0)
|
|
:ys (new 'static 'vector :y 2.0 :z 0.5)
|
|
:one-over-x-deltas (new 'static 'vector :x 5.0 :y -5.0000005 :z -1.6666666 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(define *part-mh-centipede-splash-curve-settings*
|
|
(new 'static 'particle-curve-settings :lifetime-base (seconds 0.65) :lifetime-offset (seconds 0.1))
|
|
)
|
|
|
|
(set! (-> *part-id-table* 2514 init-specs 13 initial-valuef)
|
|
(the-as float *part-mh-centipede-splash-curve-settings*)
|
|
)
|
|
|
|
(set! (-> *part-mh-centipede-splash-curve-settings* color-start) *range-mhcent-splash-color*)
|
|
|
|
(set! (-> *part-mh-centipede-splash-curve-settings* alpha-start) *range-mhcent-splash-alpha*)
|
|
|
|
(set! (-> *part-mh-centipede-splash-curve-settings* scale-x-start) *range-mhcent-splash-scale-x*)
|
|
|
|
(set! (-> *part-mh-centipede-splash-curve-settings* scale-y-start) *range-mhcent-splash-scale-y*)
|
|
|
|
(set! (-> *part-mh-centipede-splash-curve-settings* r-scalar) #f)
|
|
|
|
(set! (-> *part-mh-centipede-splash-curve-settings* g-scalar) #f)
|
|
|
|
(set! (-> *part-mh-centipede-splash-curve-settings* b-scalar) #f)
|
|
|
|
(set! (-> *part-mh-centipede-splash-curve-settings* a-scalar) *curve-mhcent-splash-alpha*)
|
|
|
|
(set! (-> *part-mh-centipede-splash-curve-settings* scale-x-scalar) *curve-mhcent-splash-scale-x*)
|
|
|
|
(set! (-> *part-mh-centipede-splash-curve-settings* scale-y-scalar) *curve-mhcent-splash-scale-y*)
|
|
|
|
(defpart 2516
|
|
:init-specs ((:texture (water-drops level-default-sprite))
|
|
(:birth-func 'spt-birth-func-brightness-mh-centipede-blood)
|
|
(:num 1.0 2.0)
|
|
(:x (meters -5) (meters 10))
|
|
(:z (meters -5) (meters 10))
|
|
(:scale-x (meters 1) (meters 0.5))
|
|
(:rot-y (degrees 0) (degrees 3600))
|
|
(:scale-y (meters 1) (meters 0.5))
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 64.0 64.0)
|
|
(:scalevel-x (meters 0.01) (meters 0.02))
|
|
(:scalevel-y (meters 0.01) (meters 0.02))
|
|
(:fade-a -0.10666667)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
|
|
(:next-time (seconds 0.335))
|
|
(:next-launcher 2519)
|
|
)
|
|
)
|
|
|
|
(defpart 2519
|
|
:init-specs ((:scalevel-x (meters 0.001) (meters 0.00033333333)) (:scalevel-y (meters 0.001) (meters 0.00033333333)))
|
|
)
|
|
|
|
(defpart 2518
|
|
:init-specs ((:texture (lakedrop level-default-sprite))
|
|
(:birth-func 'spt-birth-func-brightness-mh-centipede-blood)
|
|
(:num 1.0)
|
|
(:x (meters 0) (meters 3))
|
|
(:scale-x (meters 0.1) (meters 0.3))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 32.0 32.0)
|
|
(:vel-y (meters 0.016666668) (meters 0.033333335))
|
|
(:accel-y (meters -0.0016666667))
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-3))
|
|
(:conerot-x (degrees -40) (degrees 80))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 2517
|
|
:init-specs ((:texture (water-drops level-default-sprite))
|
|
(:birth-func 'spt-birth-func-brightness-mh-centipede-blood)
|
|
(:num 0.5 1.0)
|
|
(:x (meters 1) (meters 10))
|
|
(:scale-x (meters 0.1) (meters 0.5))
|
|
(:rot-y (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0 128.0)
|
|
(:scalevel-x (meters 0.0026666666) (meters 0.006666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.2125)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
|
|
(:next-time (seconds 0.335))
|
|
(:next-launcher 2519)
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun check-mh-centipede-explosion-level ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
|
(when (and (< (-> arg2 y) (-> arg1 omega)) (< (-> arg1 vel-sxvel y) 0.0))
|
|
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
|
(sp-kill-particle arg0 arg1)
|
|
(set-vector! gp-0 (-> arg2 x) (-> arg1 omega) (-> arg2 z) 1.0)
|
|
(cond
|
|
((logtest? (-> *part-group-id-table* 648 flags) (sp-group-flag sp13))
|
|
(set! (-> *launch-matrix* trans quad) (-> gp-0 quad))
|
|
(part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 648))
|
|
)
|
|
(else
|
|
(set! (-> *launch-matrix* trans quad) (-> gp-0 quad))
|
|
(part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 648))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup group-mh-centipede-shot-trail
|
|
:id 649
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 2520 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 2521 :flags (sp6)))
|
|
)
|
|
|
|
(defpart 2521
|
|
:init-specs ((:texture (glow-soft level-default-sprite))
|
|
(:num 1.0)
|
|
(:scale-x (meters 2.5) (meters 0.2))
|
|
(:rot-x (degrees 11.25))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 192.0 64.0)
|
|
(:b 0.0)
|
|
(:a 16.0)
|
|
(:omega (degrees 6761.25))
|
|
(:fade-a -0.8)
|
|
(:timer (seconds 0.05))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 3072.0)
|
|
)
|
|
)
|
|
|
|
(defpart 2520
|
|
:init-specs ((:texture (redpuff level-default-sprite))
|
|
(:num 1.0 3.0)
|
|
(:scale-x (meters 0.8) (meters 0.8))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 128.0)
|
|
(:b 0.0)
|
|
(:a 32.0 32.0)
|
|
(:vel-y (meters -0.006666667) (meters -0.006666667))
|
|
(:scalevel-x (meters -0.006666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r -3.2)
|
|
(:fade-g -1.6)
|
|
(:fade-b -3.2)
|
|
(:accel-y (meters 0.0001) (meters 0.000033333334))
|
|
(:friction 0.97)
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2))
|
|
(:next-time (seconds 0.135))
|
|
(:next-launcher 2522)
|
|
)
|
|
)
|
|
|
|
(defpart 2522
|
|
:init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:fade-a -0.10666667 -0.10666667))
|
|
)
|
|
|
|
(defpartgroup group-mh-centipede-shot-explosion
|
|
:id 650
|
|
:duration (seconds 4)
|
|
:flags (sp0 sp5)
|
|
:bounds (static-bspherem 0 0 0 15)
|
|
:parts ((sp-item 2523 :flags (sp3) :period (seconds 30) :length (seconds 0.017))
|
|
(sp-item 2524 :fade-after (meters 400) :flags (sp3) :period (seconds 30) :length (seconds 0.017))
|
|
(sp-item 2525 :flags (sp3) :period (seconds 30) :length (seconds 0.017))
|
|
(sp-item 2526 :period (seconds 30) :length (seconds 0.167))
|
|
(sp-item 2527 :period (seconds 30) :length (seconds 0.5))
|
|
(sp-item 2528 :falloff-to (meters 400) :period (seconds 30) :length (seconds 0.035))
|
|
(sp-item 2529 :falloff-to (meters 400) :period (seconds 30) :length (seconds 0.067))
|
|
(sp-item 2530 :falloff-to (meters 400) :period (seconds 30) :length (seconds 0.167) :offset 100)
|
|
)
|
|
)
|
|
|
|
(defpart 2529
|
|
:init-specs ((:texture (water-drops level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-shot-explosion-dirt)
|
|
(:num 20.0)
|
|
(:x (meters 0) (meters 2))
|
|
(:scale-x (meters 1) (meters 1))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:omega (degrees 0.225))
|
|
(:vel-y (meters 0.033333335) (meters 0.13333334))
|
|
(:scalevel-x (meters 0.0033333334) (meters 0.0016666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.0033333334))
|
|
(:friction 0.99)
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x406500 #x404a00))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.4))
|
|
(:next-launcher 2531)
|
|
(:conerot-x (degrees 0) (degrees 20))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 2531
|
|
:init-specs ((:rotvel-z (degrees -0.2) (degrees 0.4)) (:fade-a -0.256) (:friction 0.95 0.04) (:func 'nothing))
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-shot-explosion-dirt ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-dirt arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defpart 2530
|
|
:init-specs ((:birth-func 'spt-birth-func-part-mh-centipede-shot-explosion-dust)
|
|
(:num 2.0)
|
|
(:x (meters 0) (meters 5))
|
|
(:y (meters 8) (meters 5))
|
|
(:scale-x (meters 1) (meters 2))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 0.0)
|
|
(:scalevel-x (meters 0.0033333334) (meters 0.006666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.16 0.16)
|
|
(:accel-y (meters -0.001))
|
|
(:friction 0.94 0.04)
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x6a200100 #x405c00))
|
|
(:next-time (seconds 0.5))
|
|
(:next-launcher 2532)
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 2532
|
|
:init-specs ((:fade-a -0.03047619 -0.03047619))
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-shot-explosion-dust ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-dust arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defpart 2525
|
|
:init-specs ((:texture (starflash level-default-sprite))
|
|
(:num 1.0)
|
|
(:scale-x (meters 20))
|
|
(:rot-x (degrees 2.25))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 80.0)
|
|
(:b 40.0)
|
|
(:a 128.0)
|
|
(:omega (degrees 6767.9995))
|
|
(:scalevel-x (meters -0.33333334))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:timer (seconds 0.135))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 4096.0)
|
|
)
|
|
)
|
|
|
|
(defpart 2523
|
|
:init-specs ((:texture (glow-soft level-default-sprite))
|
|
(:num 1.0)
|
|
(:scale-x (meters 20))
|
|
(:rot-x (degrees 22.5))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 128.0)
|
|
(:b 40.0)
|
|
(:a 64.0)
|
|
(:fade-a -0.21333334)
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow))
|
|
)
|
|
)
|
|
|
|
(defpart 2528
|
|
:init-specs ((:texture (rockbit01 level-default-sprite))
|
|
(:birth-func 'spt-birth-func-part-mh-centipede-shot-explosion-bits)
|
|
(:num 10.0)
|
|
(:x (meters 0) (meters 4))
|
|
(:scale-x (meters 0.2) (meters 0.4))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.033333335) (meters 0.1))
|
|
(:rotvel-z (degrees -3.0000002) (degrees 6.0000005))
|
|
(:accel-y (meters -0.0013333333) (meters -0.00066666666))
|
|
(:timer (seconds 4))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
|
|
(:userdata :data (new 'static 'boxed-array :type int32
|
|
10
|
|
1
|
|
0
|
|
#x408b00
|
|
#x408c00
|
|
#x40a100
|
|
#x40a200
|
|
#x40a300
|
|
#x40a400
|
|
#x40a500
|
|
#x40a600
|
|
#x40a700
|
|
#x40a800
|
|
#x40a900
|
|
#x40aa00
|
|
#x40ab00
|
|
#x40ac00
|
|
#x40ad00
|
|
#x40ae00
|
|
)
|
|
)
|
|
(:func 'sparticle-texture-animate)
|
|
(:conerot-z (degrees 0) (degrees 40))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defun spt-birth-func-part-mh-centipede-shot-explosion-bits ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
|
|
(birth-func-texture-group-2d arg0 arg1 arg2 arg3 arg4)
|
|
(spt-birth-func-brightness-mh-centipede-rocks arg0 arg1 arg2 arg3 arg4)
|
|
(none)
|
|
)
|
|
|
|
(defpart 2524
|
|
:init-specs ((:texture (bigpuff level-default-sprite))
|
|
(:num 10.0)
|
|
(:scale-x (meters 2) (meters 1))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 160.0)
|
|
(:b 40.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0) (meters 0.033333335))
|
|
(:scalevel-x (meters 0.01))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-g -0.13333334)
|
|
(:fade-b -0.05)
|
|
(:fade-a -0.21333334 -0.21333334)
|
|
(:friction 0.93)
|
|
(:timer (seconds 2))
|
|
(:flags (sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 2526
|
|
:init-specs ((:texture (explosion-edge level-default-sprite))
|
|
(:num 2.0)
|
|
(:scale-x (meters 2) (meters 1))
|
|
(:rot-y (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 80.0 20.0)
|
|
(:b 30.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.16666667) (meters 0.06666667))
|
|
(:scalevel-x (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-g -0.17777778)
|
|
(:fade-b -0.06666667)
|
|
(:fade-a -0.28444445 -0.28444445)
|
|
(:friction 0.7)
|
|
(:timer (seconds 1.5))
|
|
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
|
|
(:func 'sparticle-2d-spline-align-instant)
|
|
(:conerot-x (degrees 0) (degrees 360))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(defpart 2527
|
|
:init-specs ((:texture (explo-texture level-default-sprite))
|
|
(:birth-func 'birth-func-curve)
|
|
(:num 1.0)
|
|
(:x (meters -1) (meters 2))
|
|
(:y (meters 0) (meters 2))
|
|
(:scale-x (meters 1))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:vel-y (meters 0.033333335) (meters 0.016666668))
|
|
(:friction 0.9)
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-14))
|
|
(:userdata 0.0)
|
|
(:func 'live-func-curve)
|
|
(:conerot-x (degrees 20) (degrees 90))
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *range-mh-centipede-shot-explo-color* (new 'static 'curve-color-fast
|
|
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
|
|
:ys (new 'static 'inline-array vector 4
|
|
(new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
|
|
(new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
|
|
(new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
|
|
(new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
|
|
)
|
|
:one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *range-mh-centipede-shot-explo-alpha* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
|
|
:ys (new 'static 'vector :x 128.0 :y 128.0 :z 129.0 :w 130.0)
|
|
:one-over-x-deltas (new 'static 'vector :y 1.0 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *range-mh-centipede-shot-explo-scale-x* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
|
|
:ys (new 'static 'vector :x 2.0 :y 3.0 :z 4.0 :w 5.0)
|
|
:one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *range-mh-centipede-shot-explo-scale-y* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
|
|
:ys (new 'static 'vector :x 2.0 :y 3.0 :z 4.0 :w 5.0)
|
|
:one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *curve-mh-centipede-shot-explo-alpha*
|
|
(new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -0.05 :z -0.7 :w -1.0)
|
|
:ys (new 'static 'vector :y 1.0 :z 0.8)
|
|
:one-over-x-deltas (new 'static 'vector :x 20.0 :y -0.3076923 :z -2.6666665 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *curve-mh-centipede-shot-explo-scale-x* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -0.8 :z -1.0 :w -2.0)
|
|
:ys (new 'static 'vector :y 1.0 :z 1.5 :w 2.5)
|
|
:one-over-x-deltas (new 'static 'vector :x 1.25 :y 2.5000002 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(if #t
|
|
(set! *curve-mh-centipede-shot-explo-scale-y* (new 'static 'curve2d-fast
|
|
:xs (new 'static 'vector :y -0.8 :z -1.0 :w -2.0)
|
|
:ys (new 'static 'vector :y 1.0 :z 1.5 :w 2.5)
|
|
:one-over-x-deltas (new 'static 'vector :x 1.25 :y 2.5000002 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(define *part-mh-centipede-shot-explosion-texture-curve-settings* (new 'static 'particle-curve-settings
|
|
:lifetime-base (seconds 0.1)
|
|
:lifetime-offset (seconds 0.6)
|
|
:flags (particle-curve-flags pcf0)
|
|
)
|
|
)
|
|
|
|
(set! (-> *part-id-table* 2527 init-specs 16 initial-valuef)
|
|
(the-as float *part-mh-centipede-shot-explosion-texture-curve-settings*)
|
|
)
|
|
|
|
(set! (-> *part-mh-centipede-shot-explosion-texture-curve-settings* color-start)
|
|
*range-mh-centipede-shot-explo-color*
|
|
)
|
|
|
|
(set! (-> *part-mh-centipede-shot-explosion-texture-curve-settings* alpha-start)
|
|
*range-mh-centipede-shot-explo-alpha*
|
|
)
|
|
|
|
(set! (-> *part-mh-centipede-shot-explosion-texture-curve-settings* scale-x-start)
|
|
*range-mh-centipede-shot-explo-scale-x*
|
|
)
|
|
|
|
(set! (-> *part-mh-centipede-shot-explosion-texture-curve-settings* scale-y-start)
|
|
*range-mh-centipede-shot-explo-scale-y*
|
|
)
|
|
|
|
(set! (-> *part-mh-centipede-shot-explosion-texture-curve-settings* r-scalar) #f)
|
|
|
|
(set! (-> *part-mh-centipede-shot-explosion-texture-curve-settings* g-scalar) #f)
|
|
|
|
(set! (-> *part-mh-centipede-shot-explosion-texture-curve-settings* b-scalar) #f)
|
|
|
|
(set! (-> *part-mh-centipede-shot-explosion-texture-curve-settings* a-scalar)
|
|
*curve-mh-centipede-shot-explo-alpha*
|
|
)
|
|
|
|
(set! (-> *part-mh-centipede-shot-explosion-texture-curve-settings* scale-x-scalar)
|
|
*curve-mh-centipede-shot-explo-scale-x*
|
|
)
|
|
|
|
(set! (-> *part-mh-centipede-shot-explosion-texture-curve-settings* scale-y-scalar)
|
|
*curve-mh-centipede-shot-explo-scale-y*
|
|
)
|
|
|
|
(defpartgroup group-beast-mh-centipede-shot-glow
|
|
:id 651
|
|
:flags (sp0)
|
|
:bounds (static-bspherem 0 0 0 40)
|
|
:parts ((sp-item 2533 :flags (sp6)))
|
|
)
|
|
|
|
(defpart 2533
|
|
:init-specs ((:texture (glow-soft level-default-sprite))
|
|
(:num 1.0 1.0)
|
|
(:scale-x (meters 2))
|
|
(:scale-y :copy scale-x)
|
|
(:r 0.0)
|
|
(:g 64.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:scalevel-x (meters -0.0033333334))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:timer (seconds 0.2))
|
|
(:flags (sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
|
|
)
|
|
)
|
|
|
|
(defpart 2534
|
|
:init-specs ((:texture (middot level-default-sprite))
|
|
(:num 1.0 1.0)
|
|
(:scale-x (meters 2))
|
|
(:scale-y :copy scale-x)
|
|
(:r 110.0)
|
|
(:g 1.0)
|
|
(:b 255.0)
|
|
(:a 255.0)
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-14))
|
|
)
|
|
)
|
|
|
|
(defpart 2535
|
|
:init-specs ((:texture (glow-soft level-default-sprite))
|
|
(:num 1.0 1.0)
|
|
(:scale-x (meters 8))
|
|
(:scale-y :copy scale-x)
|
|
(:r 110.0)
|
|
(:g 1.0)
|
|
(:b 255.0)
|
|
(:a 32.0)
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-3))
|
|
)
|
|
)
|