jak-project/goal_src/levels/robocave/robocave-part.gc
ManDude 7ce58f709f
process-spawn + pretty printer improvements (#1428)
* some jp support to fix some errors in the original game

* music fade toggle

* recognize `process-new` macros!!

* strip casts in this macro

* rename macro

* fix cast typecheck

* update source 1

* detect kernel stack case

* less boilerplate

* `manipy-spawn` special case

* pretty printer improvements

* revert dumb thing from earlier

* use shell detection on `send-event`

* fix some events

* remove unused argument

* detect `static-attack-info` and add `CondNoElse` to shell detect

* better `attack-info` detect

* support `process-spawn` in multi-lets

* detect `rand-float-gen` pt 1

* detect as return value

* detect in `countdown` and  `dotimes`

* oops this wasnt working

* fancier `send-event`s

* clang

* update source!!

* fix tests

* fine jeez

* uh okay

* fix some accidental regressions

* fix more regressions

* regression fixes

* fix big bug...

* extra safety!
2022-06-10 02:18:08 +01:00

182 lines
5.9 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: robocave-part.gc
;; name in dgo: robocave-part
;; dgos: L1, ROB
;; DECOMP BEGINS
(deftype robocave-part (part-spawner)
()
:heap-base #x60
:method-count-assert 21
:size-assert #xd0
:flag-assert #x15006000d0
)
(defpartgroup group-part-robocave-torch
:id 506
:bounds (static-bspherem 0 3 0 4)
:parts ((sp-item 729 :fade-after (meters 150) :falloff-to (meters 180))
(sp-item 730 :fade-after (meters 100) :falloff-to (meters 100))
(sp-item 731 :fade-after (meters 40) :falloff-to (meters 40) :period 600 :length 90)
(sp-item 732 :fade-after (meters 40) :falloff-to (meters 40) :period 369 :length 69)
(sp-item 733 :fade-after (meters 40) :falloff-to (meters 40) :period 710 :length 51)
(sp-item 734 :fade-after (meters 30) :falloff-to (meters 30))
)
)
(defpart 734
:init-specs ((sp-flt spt-num 0.3)
(sp-flt spt-x (meters 0.2))
(sp-rnd-flt spt-y (meters 1) (meters 1) 1.0)
(sp-int spt-rot-x 5)
(sp-flt spt-r 4096.0)
(sp-flt spt-g 2867.2)
(sp-flt spt-b 3276.8)
(sp-rnd-flt spt-vel-x (meters 0) (meters 0.006666667) 1.0)
(sp-flt spt-vel-y (meters 0.026666667))
(sp-int spt-timer 180)
(sp-cpuinfo-flags aux-list)
(sp-int spt-next-time 120)
(sp-launcher-by-id spt-next-launcher 735)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 735
:init-specs ((sp-flt spt-fade-b -6.826667))
)
(defpart 729
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-int spt-num 1068708659 1 0.5)
(sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0)
(sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 0.0 60.0 1.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0)
(sp-flt spt-fade-a 13.066667)
(sp-flt spt-accel-y -0.8192)
(sp-int spt-timer 75)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 15)
(sp-launcher-by-id spt-next-launcher 736)
)
)
(defpart 736
:init-specs ((sp-flt spt-fade-a -1.3333334))
)
(defpart 731
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 1.5)
(sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0)
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-z (meters -0.4) (meters 0.8) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 0.0 60.0 1.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0)
(sp-flt spt-fade-a 13.066667)
(sp-flt spt-accel-y -0.8192)
(sp-int spt-timer 105)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 15)
(sp-launcher-by-id spt-next-launcher 736)
)
)
(defpart 732
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 1.5)
(sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0)
(sp-flt spt-y (meters 0.5))
(sp-rnd-flt spt-z (meters 0) (meters 0.4) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 0.0 60.0 1.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0)
(sp-flt spt-fade-a 13.066667)
(sp-flt spt-accel-y -0.8192)
(sp-int spt-timer 105)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 15)
(sp-launcher-by-id spt-next-launcher 736)
)
)
(defpart 733
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 2.0)
(sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0)
(sp-flt spt-y (meters 0.6))
(sp-rnd-flt spt-z (meters -0.6) (meters 0.6) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 128.0 128.0 1.0)
(sp-rnd-flt spt-g 0.0 60.0 1.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0)
(sp-flt spt-fade-a 13.066667)
(sp-flt spt-accel-y -0.8192)
(sp-int spt-timer 105)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 15)
(sp-launcher-by-id spt-next-launcher 736)
)
)
(defpart 730
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 0.4)
(sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0)
(sp-flt spt-y (meters 0.3))
(sp-rnd-flt spt-z (meters -0.5) (meters 1) 1.0)
(sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 96.0)
(sp-flt spt-b 96.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-flt spt-vel-y (meters 0.01))
(sp-flt spt-scalevel-x (meters 0.0005))
(sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.10666667)
(sp-flt spt-fade-g -0.053333335)
(sp-flt spt-fade-b -0.053333335)
(sp-flt spt-fade-a -0.08)
(sp-flt spt-accel-x 0.27306667)
(sp-flt spt-accel-y 0.13653333)
(sp-flt spt-friction 0.9975)
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit2)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)