mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
93 lines
2.4 KiB
Common Lisp
93 lines
2.4 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: merc-death.gc
|
|
;; name in dgo: merc-death
|
|
;; dgos: GAME, ENGINE
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(define *merc-death-globals* (new 'global 'vector))
|
|
|
|
(deftype death-info (basic)
|
|
((vertex-skip uint16 :offset-assert 4)
|
|
(timer uint8 :offset-assert 6)
|
|
(overlap uint8 :offset-assert 7)
|
|
(effect uint32 :offset-assert 8)
|
|
(sound symbol :offset-assert 12)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x10
|
|
:flag-assert #x900000010
|
|
)
|
|
|
|
|
|
(defun birth-func-death-sparks ()
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(define death-beach-puppy
|
|
(new 'static 'death-info :vertex-skip #x82 :timer #x4b :overlap #x4 :effect #x29 :sound 'temp-enemy-die)
|
|
)
|
|
|
|
(define death-jungle-snake
|
|
(new 'static 'death-info :vertex-skip #xa :timer #x4b :overlap #x4 :effect #x29 :sound 'temp-enemy-die)
|
|
)
|
|
|
|
(define death-default
|
|
(new 'static 'death-info :vertex-skip #x50 :timer #x4b :overlap #x4 :effect #x29 :sound 'temp-enemy-die)
|
|
)
|
|
|
|
(define death-warp-in
|
|
(new 'static 'death-info :vertex-skip #x96 :timer #x4b :effect #x29 :sound 'warpgate-tele)
|
|
)
|
|
|
|
(define death-warp-out
|
|
(new 'static 'death-info :vertex-skip #x96 :timer #x96 :effect #x29 :sound 'warpgate-tele)
|
|
)
|
|
|
|
(defpart 41
|
|
:init-specs ((sp-flt spt-scale-x (meters 0.5))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-rnd-flt spt-r 64.0 32.0 1.0)
|
|
(sp-rnd-flt spt-g 16.0 32.0 1.0)
|
|
(sp-rnd-flt spt-b 48.0 32.0 1.0)
|
|
(sp-rnd-flt spt-a 48.0 48.0 1.0)
|
|
(sp-rnd-flt spt-vel-y (meters 0) (meters 0.006666667) 1.0)
|
|
(sp-flt spt-scalevel-x (meters -0.0016666667))
|
|
(sp-flt spt-scalevel-y (meters 0.02))
|
|
(sp-flt spt-accel-y -2.7306666)
|
|
(sp-int spt-timer 120)
|
|
(sp-cpuinfo-flags bit2 bit3 bit12)
|
|
(sp-int-plain-rnd spt-next-time 15 59 1)
|
|
(sp-launcher-by-id spt-next-launcher 42)
|
|
)
|
|
)
|
|
|
|
(defpart 42
|
|
:init-specs ((sp-flt spt-fade-a -1.4222223)
|
|
(sp-int spt-timer 45)
|
|
(sp-int spt-next-time 42)
|
|
(sp-launcher-by-id spt-next-launcher 43)
|
|
)
|
|
)
|
|
|
|
(defpart 43
|
|
:init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-flt spt-fade-a -0.21333334) (sp-int-plain-rnd spt-timer 0 296 1))
|
|
)
|
|
|
|
(defun merc-death-spawn ((arg0 int) (arg1 vector) (arg2 vector))
|
|
(let ((v1-2 (-> *part-id-table* arg0)))
|
|
(if (and (nonzero? v1-2) (= (-> v1-2 type) sparticle-launcher))
|
|
(sp-launch-particles-death *sp-particle-system-2d* v1-2 arg1)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
|
|
|
|
|