jak-project/goal_src/jak3/engine/common-obs/enemy-part.gc
Hat Kid 36f1592b90
decomp3: lightning renderer, nav code, texture remap, fix progress menu crash (#3461)
Also adds:

- BLERC
- Minimap (with missing texture for the map, sprites work)
- Eco Mine files
- Precursor robot boss files
- Sewer files
- Vehicle files
2024-04-12 18:44:38 -04:00

388 lines
12 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: enemy-part.gc
;; name in dgo: enemy-part
;; dgos: GAME
;; DECOMP BEGINS
(defpartgroup group-kg-huge-explosion
:id 217
:duration (seconds 2)
:linger-duration (seconds 1)
:flags (sp0 sp5 sp6 sp7)
:bounds (static-bspherem 0 0 0 15)
:rotate ((degrees 0) (degrees 90) (degrees 0))
:scale (4.0 4.0 4.0)
:parts ((sp-item 883 :flags (sp6 sp7) :period (seconds 3) :length (seconds 0.017))
(sp-item 884 :flags (sp6 sp7) :period (seconds 3) :length (seconds 0.017))
(sp-item 885 :flags (sp7) :period (seconds 3) :length (seconds 0.05))
(sp-item 886 :fade-after (meters 60) :flags (sp7) :period (seconds 3) :length (seconds 0.035) :offset 10)
(sp-item 887 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7) :period (seconds 3) :length (seconds 0.167) :offset 20)
(sp-item 888 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7) :period (seconds 3) :length (seconds 0.085) :offset 20)
(sp-item 889 :fade-after (meters 150) :falloff-to (meters 150) :flags (sp7) :period (seconds 3) :length (seconds 0.067) :offset 30)
)
)
(defpartgroup group-kg-big-explosion
:id 218
:duration (seconds 2)
:linger-duration (seconds 1)
:flags (sp0 sp5 sp6)
:bounds (static-bspherem 0 0 0 15)
:rotate ((degrees 0) (degrees 90) (degrees 0))
:parts ((sp-item 883 :flags (sp6 sp7) :period (seconds 3) :length (seconds 0.017))
(sp-item 884 :flags (sp6 sp7) :period (seconds 3) :length (seconds 0.017))
(sp-item 885 :flags (sp7) :period (seconds 3) :length (seconds 0.05))
(sp-item 886 :fade-after (meters 60) :flags (sp7) :period (seconds 3) :length (seconds 0.035) :offset 10)
(sp-item 887 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7) :period (seconds 3) :length (seconds 0.167) :offset 20)
(sp-item 888 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7) :period (seconds 3) :length (seconds 0.085) :offset 20)
(sp-item 889 :fade-after (meters 150) :falloff-to (meters 150) :flags (sp7) :period (seconds 3) :length (seconds 0.067) :offset 30)
)
)
(defpartgroup group-kg-explosion
:id 219
:duration (seconds 2)
:linger-duration (seconds 1)
:flags (sp0 sp5 sp6 sp7)
:bounds (static-bspherem 0 0 0 15)
:rotate ((degrees 0) (degrees 90) (degrees 0))
:scale (0.75 0.75 0.75)
:parts ((sp-item 883 :flags (sp6 sp7) :period (seconds 3) :length (seconds 0.017))
(sp-item 884 :flags (sp6 sp7) :period (seconds 3) :length (seconds 0.017))
(sp-item 885 :flags (sp7) :period (seconds 3) :length (seconds 0.05))
(sp-item 886 :fade-after (meters 60) :flags (sp7) :period (seconds 3) :length (seconds 0.035) :offset 10)
(sp-item 887 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7) :period (seconds 3) :length (seconds 0.167) :offset 20)
(sp-item 888 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7) :period (seconds 3) :length (seconds 0.085) :offset 20)
(sp-item 889 :fade-after (meters 150) :falloff-to (meters 150) :flags (sp7) :period (seconds 3) :length (seconds 0.067) :offset 30)
)
)
(defpartgroup group-kg-mid-explosion
:id 220
:duration (seconds 2)
:linger-duration (seconds 1)
:flags (sp0 sp5 sp6 sp7)
:bounds (static-bspherem 0 0 0 15)
:rotate ((degrees 0) (degrees 90) (degrees 0))
:scale (0.5 0.5 0.5)
:parts ((sp-item 883 :flags (sp6 sp7) :period (seconds 3) :length (seconds 0.017))
(sp-item 884 :flags (sp6 sp7) :period (seconds 3) :length (seconds 0.017))
(sp-item 885 :flags (sp7) :period (seconds 3) :length (seconds 0.05))
(sp-item 886 :fade-after (meters 60) :flags (sp7) :period (seconds 3) :length (seconds 0.035) :offset 10)
(sp-item 887 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7) :period (seconds 3) :length (seconds 0.167) :offset 20)
(sp-item 888 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7) :period (seconds 3) :length (seconds 0.085) :offset 20)
(sp-item 889 :fade-after (meters 150) :falloff-to (meters 150) :flags (sp7) :period (seconds 3) :length (seconds 0.067) :offset 30)
)
)
(defpartgroup group-kg-small-explosion
:id 221
:duration (seconds 2)
:linger-duration (seconds 1)
:flags (sp0 sp5 sp6 sp7)
:bounds (static-bspherem 0 0 0 15)
:rotate ((degrees 0) (degrees 90) (degrees 0))
:scale (0.3 0.3 0.3)
:parts ((sp-item 883 :flags (sp6 sp7) :period (seconds 3) :length (seconds 0.017))
(sp-item 884 :flags (sp6 sp7) :period (seconds 3) :length (seconds 0.017))
(sp-item 885 :flags (sp7) :period (seconds 3) :length (seconds 0.05))
(sp-item 886 :fade-after (meters 60) :flags (sp7) :period (seconds 3) :length (seconds 0.035) :offset 10)
(sp-item 887 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7) :period (seconds 3) :length (seconds 0.167) :offset 20)
(sp-item 888 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7) :period (seconds 3) :length (seconds 0.085) :offset 20)
(sp-item 889 :fade-after (meters 150) :falloff-to (meters 150) :flags (sp7) :period (seconds 3) :length (seconds 0.067) :offset 30)
)
)
(defpart 884
:init-specs ((:texture (glow level-default-sprite))
(:num 1.0)
(:scale-x (meters 2))
(:rot-x (degrees 11.25))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 24.0)
(:scalevel-x (meters 0.10666667))
(:rotvel-z (degrees 0.3))
(:scalevel-y :copy scalevel-x)
(:fade-r 0.0)
(:fade-g -4.266667)
(:fade-b -4.266667)
(:fade-a 0.0)
(:timer (seconds 0.5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow set-conerot))
(:next-time (seconds 0.25))
(:next-launcher 890)
(:rotate-y (degrees 0))
)
)
(defpart 890
:init-specs ((:scalevel-x (meters 0))
(:scalevel-y :copy scalevel-x)
(:fade-r -0.85333335)
(:fade-g -1.7066667)
(:fade-b -1.7066667)
(:fade-a -0.64)
(:rotate-y (degrees 0))
)
)
(defpart 889
:init-specs ((:texture (explosion-edge level-default-sprite))
(:num 2.0 0.2)
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 3600) :store)
(:scale-y (meters 0.8) (meters 0.2))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 32.0 32.0)
(:scalevel-x (meters 0.01) (meters 0.13333334))
(:scalevel-y :copy scalevel-x)
(:fade-r 0.0)
(:fade-g -0.36)
(:fade-b -4.24)
(:fade-a -0.22068965)
(:friction 0.95)
(:timer (seconds 3.335))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 set-conerot))
(:next-time (seconds 0.085))
(:next-launcher 891)
(:conerot-x '*sp-temp*)
(:conerot-y (degrees 0) (degrees 3600))
(:rotate-y (degrees 0))
)
)
(defpart 888
:init-specs ((:texture (explosion-nebula level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 3.0)
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 32.0 32.0)
(:vel-y (meters 0.02) (meters 0.01))
(:scalevel-x (meters 0.01) (meters 0.13333334))
(:rotvel-z (degrees -0.12) (degrees 0.24))
(:scalevel-y :copy scalevel-x)
(:fade-r 0.0)
(:fade-g -0.36)
(:fade-b -4.24)
(:fade-a -0.22068965)
(:friction 0.95)
(:timer (seconds 3.335))
(:flags (sp-cpuinfo-flag-2 set-conerot))
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400700))
(:next-time (seconds 0.085))
(:next-launcher 891)
(:conerot-x (degrees 0) (degrees 3600))
(:conerot-y (degrees 0) (degrees 3600))
(:rotate-y (degrees 0))
)
)
(defpart 891
:init-specs ((:fade-r 0.0)
(:fade-g 0.0)
(:fade-b 0.0)
(:next-time (seconds 0.017) (seconds 0.065))
(:next-launcher 892)
(:rotate-y (degrees 0))
)
)
(defpart 892
:init-specs ((:scalevel-x (meters 0.016666668) (meters 0.016666668))
(:scalevel-y :copy scalevel-x)
(:fade-r -0.44)
(:fade-g -2.36)
(:fade-b -2.64)
(:next-time (seconds 0.117) (seconds 0.047))
(:next-launcher 893)
(:rotate-y (degrees 0))
)
)
(defpart 893
:init-specs ((:scalevel-x (meters 0.008333334) (meters 0.008333334))
(:scalevel-y :copy scalevel-x)
(:fade-r -1.2944444)
(:fade-g -0.7111111)
(:fade-b -0.094444446)
(:fade-a -0.06545454 -0.06545454)
(:next-time (seconds 0.5) (seconds 0.097))
(:next-launcher 894)
(:rotate-y (degrees 0))
)
)
(defpart 894
:init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:fade-a -0.1125) (:rotate-y (degrees 0)))
)
(defpart 883
:init-specs ((:texture (glow level-default-sprite))
(:num 1.0)
(:scale-x (meters 5))
(:rot-x (degrees 11.25))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 96.0)
(:scalevel-x (meters 0.5))
(:rotvel-z (degrees 0.3))
(:scalevel-y :copy scalevel-x)
(:fade-r 0.0)
(:fade-g -1.28)
(:fade-b -5.1)
(:fade-a 0.0)
(:timer (seconds 0.217))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow set-conerot))
(:next-time (seconds 0.1))
(:next-launcher 895)
(:rotate-y (degrees 0))
)
)
(defpart 895
:init-specs ((:scalevel-x (meters -0.2857143))
(:scalevel-y :copy scalevel-x)
(:fade-r 0.0)
(:fade-g -3.6571429)
(:fade-b 0.0)
(:fade-a -2.7428572)
(:rotate-y (degrees 0))
)
)
(defpart 887
:init-specs ((:texture (specs level-default-sprite))
(:num 8.0 2.0)
(:x (meters 0.25))
(:scale-x (meters 1) (meters 0.25))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 16.0 48.0)
(:vel-y (meters 0.083333336) (meters 0.083333336))
(:scalevel-x (meters 0.006666667) (meters 0.0016666667))
(:rotvel-z (degrees -0.12) (degrees 0.24))
(:scalevel-y :copy scalevel-x)
(:fade-r 0.0)
(:fade-g -0.18)
(:fade-b -2.12)
(:accel-y (meters -0.00016666666) (meters -0.00033333333))
(:friction 0.87)
(:timer (seconds 3.335))
(:flags (sp-cpuinfo-flag-2 set-conerot))
(:next-time (seconds 0.117) (seconds 0.047))
(:next-launcher 896)
(:conerot-x (degrees 0) (degrees 3600))
(:conerot-y (degrees 0) (degrees 3600))
(:rotate-y (degrees 0))
)
)
(defpart 896
:init-specs ((:scalevel-x (meters 0.0016666667))
(:scalevel-y :copy scalevel-x)
(:fade-r 0.0)
(:fade-g 0.02)
(:fade-b 0.23555556)
(:next-time (seconds 0.15) (seconds 0.047))
(:next-launcher 897)
(:rotate-y (degrees 0))
)
)
(defpart 897
:init-specs ((:fade-r -0.5543478) (:fade-g -0.5543478) (:fade-a -0.13913043) (:rotate-y (degrees 0)))
)
(defpart 885
:init-specs ((:texture (bigpuff level-default-sprite))
(:num 8.0 1.0)
(:x (meters 0) (meters 0.6))
(:scale-x (meters 2.5) (meters 2))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 70.0 20.0)
(:g 70.0 20.0)
(:b 70.0 20.0)
(:a 0.0 40.0)
(:vel-y (meters 0) (meters 0.1))
(:scalevel-x (meters 0.033333335) (meters 0.02))
(:rotvel-z (degrees -0.12) (degrees 0.24))
(:scalevel-y :copy scalevel-x)
(:fade-r 3.3)
(:fade-g 3.12)
(:fade-b 1.18)
(:fade-a 1.76)
(:friction 0.88)
(:timer (seconds 2.367))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 set-conerot))
(:next-time (seconds 0.117) (seconds 0.047))
(:next-launcher 898)
(:conerot-x (degrees 0) (degrees 3600))
(:conerot-y (degrees 0) (degrees 3600))
(:rotate-y (degrees 0))
)
)
(defpart 898
:init-specs ((:scalevel-x (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-r -0.53333336)
(:fade-g -1.9666667)
(:fade-b -2.2)
(:fade-a -0.41666666)
(:next-time (seconds 0.15) (seconds 0.047))
(:next-launcher 899)
(:rotate-y (degrees 0))
)
)
(defpart 899
:init-specs ((:scalevel-x (meters 0))
(:scalevel-y :copy scalevel-x)
(:fade-r -0.38833332)
(:fade-g -0.21333334)
(:fade-b -0.028333334)
(:fade-a -0.38833332)
(:rotate-y (degrees 0))
)
)
(defpart 886
:init-specs ((:texture (motion-blur-part level-default-sprite))
(:num 4.0 2.0)
(:scale-x (meters 0.2) (meters 0.5))
(:rot-x 4)
(:rot-z (degrees 0) (degrees 360))
(:scale-y (meters 0.2) (meters 0.1))
(:r 128.0 128.0)
(:g 96.0)
(:b 64.0)
(:a 64.0 64.0)
(:scalevel-x (meters 0.13333334) (meters 0.02))
(:fade-g 1.6)
(:fade-b 3.2)
(:fade-a -1.6)
(:timer (seconds 0.3))
(:flags (sp-cpuinfo-flag-2 set-conerot))
(:rotate-y (degrees 0))
)
)