mirror of
https://github.com/open-goal/jak-project
synced 2026-07-10 07:07:04 -04:00
decomp: add powerups to ref-tests and finish target-flut | target-death (#1017)
* decomp: add `powerups` to ref-tests * decomp: finish `target-flut` * decomp: finish `target-death`
This commit is contained in:
@@ -29310,7 +29310,7 @@
|
||||
(define-extern target-flut-stance (state target)) ;; unknown type
|
||||
(define-extern target-flut-grab (state target)) ;; unknown type
|
||||
(define-extern target-flut-clone-anim (state handle target)) ;; unknown type
|
||||
(define-extern target-flut-get-off-hit-ground (state target)) ;; unknown type
|
||||
(define-extern target-flut-get-off-hit-ground (state symbol target)) ;; unknown type
|
||||
(define-extern target-flut-get-off-jump (state handle target)) ;; unknown type
|
||||
(define-extern target-flut-death (state symbol target)) ;; unknown type
|
||||
(define-extern target-flut-hit-ground (state target)) ;; unknown type
|
||||
@@ -29320,7 +29320,7 @@
|
||||
(define-extern *FLUT-bank* flut-bank) ;; unknown type
|
||||
(define-extern target-flut-falling (state target)) ;; unknown type
|
||||
(define-extern *flut-run-attack-mods* surface) ;; unknown type
|
||||
(define-extern target-flut-hit (state target)) ;; unknown type
|
||||
(define-extern target-flut-hit (state symbol attack-info target)) ;; unknown type
|
||||
(define-extern *flut-jump-mods* surface) ;; unknown type
|
||||
(define-extern target-flut-walk (state target)) ;; unknown type
|
||||
(define-extern *flut-walk-mods* surface) ;; unknown type
|
||||
|
||||
@@ -4739,7 +4739,7 @@
|
||||
|
||||
"target-flut-standard-event-handler": [
|
||||
[16, "vector"],
|
||||
[32, "matrix"]
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-flut-start)": [
|
||||
|
||||
@@ -6127,6 +6127,7 @@
|
||||
],
|
||||
|
||||
"(code target-flut-running-attack)": [
|
||||
[53, "v1", "float"],
|
||||
[181, "f30", "float"],
|
||||
[246, "f1", "float"],
|
||||
[247, "f0", "float"],
|
||||
@@ -6190,13 +6191,10 @@
|
||||
"(code target-death)": [
|
||||
[533, "v1", "art-joint-anim"],
|
||||
[655, "v0", "int"],
|
||||
[691, "v1", "nav-enemy"],
|
||||
[691, "v1", "process-drawable"],
|
||||
[844, "gp", "spool-anim"],
|
||||
[968, "s5", "handle"],
|
||||
[991, "s5", "handle"],
|
||||
[1010, "gp", "spool-anim"],
|
||||
[1028, "s5", "handle"],
|
||||
[1031, "s5", "handle"]
|
||||
[[957, 1035], "s5", "handle"],
|
||||
[1010, "gp", "spool-anim"]
|
||||
],
|
||||
|
||||
"(anon-function 1 target-death)": [
|
||||
@@ -7040,5 +7038,9 @@
|
||||
[37, "v0", "sunkencam"]
|
||||
],
|
||||
|
||||
"(code target-flut-jump)": [
|
||||
[137, "v1", "float"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -3748,5 +3748,11 @@
|
||||
}
|
||||
},
|
||||
|
||||
"(code target-death)": {
|
||||
"vars": {
|
||||
"s5-8": ["s5-8", "handle"]
|
||||
}
|
||||
},
|
||||
|
||||
"aaaaaaaaaaaaaaaaaaaaaaa": {}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
;; name in dgo: pov-camera-h
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
;; for target-death
|
||||
(declare-type pov-camera process-drawable)
|
||||
(define-extern pov-camera-init-by-other (function vector skeleton-group string int process-drawable pair none :behavior pov-camera)) ;; TODO - not confirmed -- sunken-elevator
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype pov-camera (process-drawable)
|
||||
|
||||
+839
-1020
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -47,6 +47,9 @@
|
||||
;; NOTE - for logic-target - defined in sidekick
|
||||
(declare-type sidekick process-drawable)
|
||||
|
||||
;; NOTE - for target-death
|
||||
(define-extern start-sequence-a (function none)) ;; not confirmed
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype target (process-drawable)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+974
@@ -0,0 +1,974 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function cloud-track
|
||||
;; INFO: Return type mismatch symbol vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior cloud-track process ((arg0 process-tree) (arg1 process-tree) (arg2 (function vector none)) (arg3 int) (arg4 int) (arg5 int))
|
||||
(change-parent self arg0)
|
||||
(let ((s1-1 (process->handle arg0))
|
||||
(s2-1 (process->handle arg1))
|
||||
)
|
||||
(let ((s0-0 (-> *display* base-frame-counter)))
|
||||
(until (>= (- (-> *display* base-frame-counter) s0-0) (+ arg3 arg4))
|
||||
(let ((v1-8 (or (not (handle->process s1-1)) (not (handle->process s2-1)))))
|
||||
(if v1-8
|
||||
(deactivate self)
|
||||
)
|
||||
)
|
||||
(let* ((f0-1
|
||||
(fmax
|
||||
0.0
|
||||
(fmin 1.0 (/ (- (the float (- (-> *display* base-frame-counter) s0-0)) (the float arg3)) (the float arg4)))
|
||||
)
|
||||
)
|
||||
(a0-18 (process-drawable-pair-random-point!
|
||||
(the-as process-drawable (-> s1-1 process 0))
|
||||
(the-as process-drawable (-> s2-1 process 0))
|
||||
(new-stack-vector0)
|
||||
f0-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(arg2 a0-18)
|
||||
)
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((zero? arg5)
|
||||
(while #t
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let ((s4-1 (-> *display* base-frame-counter)))
|
||||
(until (>= (- (-> *display* base-frame-counter) s4-1) arg5)
|
||||
(let ((a0-21 (process-drawable-random-point! (the-as process-drawable (-> s2-1 process 0)) (new-stack-vector0))))
|
||||
(arg2 a0-21)
|
||||
)
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 255) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 15
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2))
|
||||
(sp-rnd-flt spt-num 1.0 1.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 64.0)
|
||||
(sp-flt spt-g 64.0)
|
||||
(sp-flt spt-b 192.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-fade-a -1.0666667)
|
||||
(sp-int spt-timer 60)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.5))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 256)
|
||||
(new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15
|
||||
(sp-tex spt-texture (new 'static 'texture-id :page #x2))
|
||||
(sp-rnd-flt spt-num 1.0 1.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 64.0)
|
||||
(sp-flt spt-g 64.0)
|
||||
(sp-flt spt-b 192.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-fade-a -1.0666667)
|
||||
(sp-int spt-timer 60)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.5))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 257) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 16
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2))
|
||||
(sp-rnd-flt spt-num 1.0 3.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0)
|
||||
(sp-int spt-rot-x 4)
|
||||
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0)
|
||||
(sp-flt spt-r 64.0)
|
||||
(sp-flt spt-g 64.0)
|
||||
(sp-flt spt-b 128.0)
|
||||
(sp-flt spt-a 128.0)
|
||||
(sp-flt spt-fade-a -1.6)
|
||||
(sp-int spt-timer 90)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-int spt-next-time 10)
|
||||
(sp-launcher-by-id spt-next-launcher 258)
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 259) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 16
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2))
|
||||
(sp-rnd-flt spt-num 0.0 3.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0)
|
||||
(sp-int spt-rot-x 4)
|
||||
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0)
|
||||
(sp-flt spt-r 128.0)
|
||||
(sp-flt spt-g 128.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 128.0)
|
||||
(sp-flt spt-fade-a -1.6)
|
||||
(sp-int spt-timer 91)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-int spt-next-time 10)
|
||||
(sp-launcher-by-id spt-next-launcher 258)
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 258)
|
||||
(new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6
|
||||
(sp-flt spt-r 64.0)
|
||||
(sp-flt spt-g 64.0)
|
||||
(sp-flt spt-fade-r -1.0)
|
||||
(sp-flt spt-fade-g -0.4)
|
||||
(sp-flt spt-fade-a -2.0)
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 260) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 15
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 32.0)
|
||||
(sp-rnd-flt spt-g 32.0 64.0 1.0)
|
||||
(sp-rnd-flt spt-b 192.0 64.0 1.0)
|
||||
(sp-rnd-flt spt-a 64.0 128.0 1.0)
|
||||
(sp-flt spt-scalevel-x (meters -0.00033333333))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-a -0.2)
|
||||
(sp-flt spt-accel-y -0.06826667)
|
||||
(sp-int spt-timer 450)
|
||||
(sp-cpuinfo-flags bit0 bit2 bit3)
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-group-id-table* 70) (new 'static 'sparticle-launch-group
|
||||
:length 5
|
||||
:duration #x5
|
||||
:linger-duration #x1c2
|
||||
:name "group-blue-hit-ground-effect"
|
||||
:launcher
|
||||
(new 'static 'inline-array sparticle-group-item 5
|
||||
(sp-item 261)
|
||||
(sp-item 262)
|
||||
(sp-item 263 :flags (is-3d))
|
||||
(sp-item 264)
|
||||
(sp-item 265 :flags (is-3d))
|
||||
)
|
||||
:bounds (new 'static 'sphere :w 8192.0)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 264) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 20
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2))
|
||||
(sp-flt spt-num 32.0)
|
||||
(sp-flt spt-y (meters 0.5))
|
||||
(sp-rnd-flt spt-scale-x (meters 1.0) (meters 3.0) 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 0.0)
|
||||
(sp-rnd-flt spt-g 32.0 32.0 1.0)
|
||||
(sp-rnd-flt spt-b 192.0 63.0 1.0)
|
||||
(sp-rnd-int spt-a 0 63 1.0)
|
||||
(sp-flt spt-vel-y (meters 0.093333334))
|
||||
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
|
||||
(sp-int spt-timer 150)
|
||||
(sp-cpuinfo-flags bit3)
|
||||
(sp-int-plain-rnd spt-next-time 20 19 1)
|
||||
(sp-launcher-by-id spt-next-launcher 266)
|
||||
(sp-flt spt-conerot-x (degrees 90.0))
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.0))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 266)
|
||||
(new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7
|
||||
(sp-flt spt-r 0.0)
|
||||
(sp-rnd-flt spt-g 32.0 32.0 1.0)
|
||||
(sp-rnd-flt spt-b 192.0 63.0 1.0)
|
||||
(sp-rnd-int spt-a 0 63 1.0)
|
||||
(sp-int-plain-rnd spt-next-time 20 19 1)
|
||||
(sp-launcher-by-id spt-next-launcher 266)
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 265) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 16
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-flt spt-y (meters 0.5))
|
||||
(sp-flt spt-scale-x (meters 0.0))
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 0.0)
|
||||
(sp-rnd-flt spt-g 32.0 32.0 1.0)
|
||||
(sp-rnd-flt spt-b 192.0 63.0 1.0)
|
||||
(sp-rnd-flt spt-a 96.0 32.0 1.0)
|
||||
(sp-flt spt-scalevel-x (meters 0.21333334))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-int spt-timer 120)
|
||||
(sp-cpuinfo-flags bit2 bit3 left-multiply-quat)
|
||||
(sp-int spt-next-time 60)
|
||||
(sp-launcher-by-id spt-next-launcher 267)
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 267)
|
||||
(new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -2.1333334) (sp-end))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 263) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 17
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-flt spt-y (meters 0.5))
|
||||
(sp-flt spt-scale-x (meters 0.0))
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 0.0)
|
||||
(sp-rnd-flt spt-g 32.0 32.0 1.0)
|
||||
(sp-rnd-flt spt-b 192.0 63.0 1.0)
|
||||
(sp-rnd-flt spt-a 32.0 32.0 1.0)
|
||||
(sp-flt spt-scalevel-x (meters 0.22666667))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-a -0.7111111)
|
||||
(sp-int spt-timer 90)
|
||||
(sp-cpuinfo-flags bit2 bit3 left-multiply-quat)
|
||||
(sp-int spt-next-time 45)
|
||||
(sp-launcher-by-id spt-next-launcher 268)
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 268)
|
||||
(new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.4222223) (sp-end))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 261) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 21
|
||||
(sp-tex spt-texture (new 'static 'texture-id :page #x2))
|
||||
(sp-flt spt-num 32.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 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 0.0)
|
||||
(sp-rnd-flt spt-g 32.0 32.0 1.0)
|
||||
(sp-rnd-flt spt-b 192.0 63.0 1.0)
|
||||
(sp-rnd-flt spt-a 16.0 32.0 1.0)
|
||||
(sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0)
|
||||
(sp-flt spt-scalevel-x (meters 0.0033333334))
|
||||
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-a -0.16)
|
||||
(sp-flt spt-accel-y -1.3653333)
|
||||
(sp-flt spt-friction 0.95)
|
||||
(sp-int spt-timer 300)
|
||||
(sp-cpuinfo-flags bit2 bit12)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 262) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 21
|
||||
(sp-tex spt-texture (new 'static 'texture-id :page #x2))
|
||||
(sp-flt spt-num 12.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 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 0.0)
|
||||
(sp-rnd-flt spt-g 32.0 32.0 1.0)
|
||||
(sp-rnd-flt spt-b 192.0 63.0 1.0)
|
||||
(sp-rnd-flt spt-a 16.0 16.0 1.0)
|
||||
(sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.053333335) 1.0)
|
||||
(sp-flt spt-scalevel-x (meters 0.0016666667))
|
||||
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-a -0.21333334)
|
||||
(sp-flt spt-accel-y -1.3653333)
|
||||
(sp-flt spt-friction 0.95)
|
||||
(sp-int spt-timer 150)
|
||||
(sp-cpuinfo-flags bit2 bit12)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 269) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 15
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2))
|
||||
(sp-rnd-flt spt-num 1.0 1.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-rnd-flt spt-r 92.0 32.0 1.0)
|
||||
(sp-rnd-flt spt-g 32.0 92.0 1.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-fade-a -1.0)
|
||||
(sp-int spt-timer 60)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.5))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 270)
|
||||
(new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15
|
||||
(sp-tex spt-texture (new 'static 'texture-id :page #x2))
|
||||
(sp-rnd-flt spt-num 1.0 1.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-rnd-flt spt-r 92.0 32.0 1.0)
|
||||
(sp-rnd-flt spt-g 32.0 92.0 1.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-fade-a -1.0)
|
||||
(sp-int spt-timer 60)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.5))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 271) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 24
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
|
||||
(sp-rnd-flt spt-num 0.5 2.0 1.0)
|
||||
(sp-flt spt-y (meters -0.05))
|
||||
(sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-rnd-flt spt-r 100.0 28.0 1.0)
|
||||
(sp-rnd-flt spt-g 64.0 64.0 1.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-rnd-flt spt-a 64.0 64.0 1.0)
|
||||
(sp-rnd-flt spt-vel-y (meters 0.0023333333) (meters 0.0016666667) 1.0)
|
||||
(sp-flt spt-scalevel-x (meters -0.00083333335))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-g -0.4)
|
||||
(sp-flt spt-fade-a -0.024242423)
|
||||
(sp-rnd-flt spt-accel-y -0.40960002 -1.2288 1.0)
|
||||
(sp-flt spt-friction 0.93)
|
||||
(sp-int-plain-rnd spt-timer 30 209 1)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-int spt-next-time 90)
|
||||
(sp-launcher-by-id spt-next-launcher 272)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.05))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 272)
|
||||
(new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-r 0.0) (sp-end))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 273) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 15
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2))
|
||||
(sp-rnd-flt spt-num 1.0 1.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-rnd-flt spt-r 92.0 32.0 1.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-fade-a -1.0)
|
||||
(sp-int spt-timer 60)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.5))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 274)
|
||||
(new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15
|
||||
(sp-tex spt-texture (new 'static 'texture-id :page #x2))
|
||||
(sp-rnd-flt spt-num 1.0 1.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-rnd-flt spt-r 92.0 32.0 1.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-fade-a -1.0)
|
||||
(sp-int spt-timer 60)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.5))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 275) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 24
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
|
||||
(sp-rnd-flt spt-num 0.5 2.0 1.0)
|
||||
(sp-flt spt-y (meters -0.05))
|
||||
(sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-rnd-flt spt-r 100.0 28.0 1.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-rnd-flt spt-a 64.0 64.0 1.0)
|
||||
(sp-rnd-flt spt-vel-y (meters 0.0023333333) (meters 0.0016666667) 1.0)
|
||||
(sp-flt spt-scalevel-x (meters -0.00083333335))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-g -0.4)
|
||||
(sp-flt spt-fade-a -0.024242423)
|
||||
(sp-rnd-flt spt-accel-y -0.40960002 -1.2288 1.0)
|
||||
(sp-flt spt-friction 0.93)
|
||||
(sp-int-plain-rnd spt-timer 30 209 1)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-int spt-next-time 90)
|
||||
(sp-launcher-by-id spt-next-launcher 276)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.05))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 276)
|
||||
(new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-r 0.0) (sp-end))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 277) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 15
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2))
|
||||
(sp-rnd-flt spt-num 1.0 1.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 0.0)
|
||||
(sp-rnd-flt spt-g 92.0 32.0 1.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-fade-a -1.0)
|
||||
(sp-int spt-timer 60)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.5))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 278)
|
||||
(new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15
|
||||
(sp-tex spt-texture (new 'static 'texture-id :page #x2))
|
||||
(sp-rnd-flt spt-num 1.0 1.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 0.0)
|
||||
(sp-rnd-flt spt-g 92.0 32.0 1.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-fade-a -1.0)
|
||||
(sp-int spt-timer 60)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.5))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 279) (new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 24
|
||||
(sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
|
||||
(sp-rnd-flt spt-num 0.5 2.0 1.0)
|
||||
(sp-flt spt-y (meters -0.05))
|
||||
(sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 0.0)
|
||||
(sp-rnd-flt spt-g 100.0 28.0 1.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-rnd-flt spt-a 64.0 64.0 1.0)
|
||||
(sp-rnd-flt spt-vel-y (meters 0.0023333333) (meters 0.0016666667) 1.0)
|
||||
(sp-flt spt-scalevel-x (meters -0.00083333335))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-g -0.4)
|
||||
(sp-flt spt-fade-a -0.024242423)
|
||||
(sp-rnd-flt spt-accel-y -0.40960002 -1.2288 1.0)
|
||||
(sp-flt spt-friction 0.93)
|
||||
(sp-int-plain-rnd spt-timer 30 209 1)
|
||||
(sp-cpuinfo-flags bit2 bit3)
|
||||
(sp-int spt-next-time 90)
|
||||
(sp-launcher-by-id spt-next-launcher 280)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
|
||||
(sp-flt spt-conerot-radius (meters 0.05))
|
||||
(sp-end)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *part-id-table* 280)
|
||||
(new 'static 'sparticle-launcher
|
||||
:init-specs
|
||||
(new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-g 0.0) (sp-end))
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function eco-blue-glow
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defun eco-blue-glow ((arg0 vector))
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* 255)
|
||||
arg0
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
(if (rand-vu-percent? 0.5)
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* 257)
|
||||
arg0
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-powerup-process
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior target-powerup-process target ()
|
||||
(dummy-10 (-> self water))
|
||||
(when (not *weather-off*)
|
||||
(case (-> self current-level name)
|
||||
(('swamp)
|
||||
(update-rain self)
|
||||
)
|
||||
(('snow)
|
||||
(update-snow self)
|
||||
)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((and
|
||||
(= (-> self control ground-pat material) (pat-material ice))
|
||||
(and
|
||||
(>= (-> self control unknown-float01) 204.8)
|
||||
(< (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) 15)
|
||||
)
|
||||
)
|
||||
(let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 74))))
|
||||
(if (and
|
||||
(< (fabs
|
||||
(vector-dot
|
||||
(-> self control dynam gravity-normal)
|
||||
(vector-! (new 'stack-no-clear 'vector) gp-0 (-> self control trans))
|
||||
)
|
||||
)
|
||||
819.2
|
||||
)
|
||||
(rand-vu-percent? 0.5)
|
||||
)
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-3d*
|
||||
(-> *part-id-table* 2391)
|
||||
gp-0
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((gp-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 70))))
|
||||
(if (and
|
||||
(< (fabs
|
||||
(vector-dot
|
||||
(-> self control dynam gravity-normal)
|
||||
(vector-! (new 'stack-no-clear 'vector) gp-1 (-> self control trans))
|
||||
)
|
||||
)
|
||||
819.2
|
||||
)
|
||||
(rand-vu-percent? 0.5)
|
||||
)
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-3d*
|
||||
(-> *part-id-table* 2391)
|
||||
gp-1
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f0-8 (lerp-scale 60.0 90.0 (-> self control unknown-float01) 0.0 81920.0)))
|
||||
(if (not (= (if (> (-> self skel active-channels) 0)
|
||||
(-> self skel root-channel 0 frame-group)
|
||||
)
|
||||
(-> self draw art-group data 104)
|
||||
)
|
||||
)
|
||||
(set! f0-8 (* 0.75 f0-8))
|
||||
)
|
||||
(set! (-> self control unknown-float141)
|
||||
(seek (-> self control unknown-float141) f0-8 (* 100.0 (-> *display* seconds-per-frame)))
|
||||
)
|
||||
)
|
||||
(let ((f30-0 (-> self control unknown-float141))
|
||||
(f0-13 (lerp-scale -0.3 0.3 (-> self control unknown-float01) 0.0 81920.0))
|
||||
)
|
||||
(sound-play-by-name
|
||||
(static-sound-name "ice-loop")
|
||||
(-> self control unknown-soundid00)
|
||||
(the int (* 10.24 f30-0))
|
||||
(the int (* 1524.0 f0-13))
|
||||
0
|
||||
1
|
||||
(the-as symbol (-> self control trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.0 (-> self control unknown-float141))
|
||||
(set! (-> self control unknown-float141) 0.0)
|
||||
(let ((v1-64 (the-as sound-rpc-set-param (get-sound-buffer-entry))))
|
||||
(set! (-> v1-64 command) (sound-command set-param))
|
||||
(set! (-> v1-64 id) (-> self control unknown-soundid00))
|
||||
(set! (-> v1-64 parms volume) -4)
|
||||
(set! (-> v1-64 auto-time) 48)
|
||||
(set! (-> v1-64 auto-from) 2)
|
||||
(set! (-> v1-64 parms mask) (the-as uint 17))
|
||||
(-> v1-64 id)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-67 (-> *time-of-day-context* current-shadow))
|
||||
(a0-33 (-> self draw shadow-ctrl))
|
||||
)
|
||||
(set! (-> a0-33 settings shadow-dir x) (-> v1-67 x))
|
||||
(set! (-> a0-33 settings shadow-dir y) (-> v1-67 y))
|
||||
(set! (-> a0-33 settings shadow-dir z) (-> v1-67 z))
|
||||
)
|
||||
(when (and
|
||||
(!= (-> self fact-info-target eco-level) 0.0)
|
||||
(>= (- (-> *display* game-frame-counter) (the-as int (-> self fact-info-target eco-pickup-time)))
|
||||
(the-as int (-> self fact-info-target eco-timeout))
|
||||
)
|
||||
)
|
||||
(set! (-> self fact-info-target eco-level) 0.0)
|
||||
(set! (-> self fact-info-target eco-timeout) 0)
|
||||
(set! (-> self state-flags) (logand -65 (-> self state-flags)))
|
||||
(send-event self 'reset-collide)
|
||||
(stop! (-> self sound))
|
||||
)
|
||||
(when (and
|
||||
(< 0.0 (-> self fact-info-target eco-level))
|
||||
(zero? (logand (-> self state-flags) 512))
|
||||
(zero? (logand (-> self draw status) 6))
|
||||
(not (movie?))
|
||||
(rand-vu-percent?
|
||||
(lerp-scale
|
||||
0.0
|
||||
1.0
|
||||
(the float
|
||||
(- (-> self fact-info-target eco-timeout)
|
||||
(the-as uint (- (-> *display* game-frame-counter) (the-as int (-> self fact-info-target eco-pickup-time))))
|
||||
)
|
||||
)
|
||||
0.0
|
||||
900.0
|
||||
)
|
||||
)
|
||||
)
|
||||
(case (-> self fact-info-target eco-type)
|
||||
((1)
|
||||
(change-sound! (-> self sound) (static-sound-name "yel-eco-jak"))
|
||||
(let ((s4-0 (rand-vu-int-range 3 (+ (-> self node-list length) -1))))
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* (if (rand-vu-percent? 0.5)
|
||||
269
|
||||
270
|
||||
)
|
||||
)
|
||||
(vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data s4-0))
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
(dotimes (gp-4 2)
|
||||
(let ((v1-111 (rand-vu-int-range 3 (+ (-> self node-list length) -1))))
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* 271)
|
||||
(vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data v1-111))
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
((2)
|
||||
(target-danger-set! (-> self control unknown-symbol30) #t)
|
||||
(dummy-47 (-> self control))
|
||||
(let ((a1-23 (new 'stack-no-clear 'touching-shapes-entry)))
|
||||
(set! (-> a1-23 cshape1) (the-as collide-shape 0))
|
||||
(set! (-> a1-23 cshape2) (the-as collide-shape *touching-list*))
|
||||
(dummy-40 (-> self control) a1-23)
|
||||
)
|
||||
(target-danger-set! (-> self control unknown-symbol30) #f)
|
||||
(dummy-47 (-> self control))
|
||||
(change-sound! (-> self sound) (static-sound-name "red-eco-jak"))
|
||||
(let ((s4-2 (rand-vu-int-range 3 (+ (-> self node-list length) -1))))
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* (if (rand-vu-percent? 0.5)
|
||||
273
|
||||
274
|
||||
)
|
||||
)
|
||||
(vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data s4-2))
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
(dotimes (gp-6 2)
|
||||
(let ((v1-139 (rand-vu-int-range 3 (+ (-> self node-list length) -1))))
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* 275)
|
||||
(vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data v1-139))
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
((3)
|
||||
(change-sound! (-> self sound) (static-sound-name "blue-eco-jak"))
|
||||
(let ((v1-150 (rand-vu-int-range 3 (+ (-> self node-list length) -1))))
|
||||
(cond
|
||||
((and (logtest? (-> self control unknown-surface00 flags) 2048) (zero? (logand (-> self control status) 1)))
|
||||
(set! (-> *part-id-table* 259 init-specs 4 initial-valuef) 0.0)
|
||||
(set! (-> *part-id-table* 259 init-specs 4 random-rangef) 65536.0)
|
||||
)
|
||||
(else
|
||||
(set! (-> *part-id-table* 259 init-specs 4 initial-valuef) 40960.0)
|
||||
(set! (-> *part-id-table* 259 init-specs 4 random-rangef) 16384.0)
|
||||
)
|
||||
)
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* 259)
|
||||
(vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data v1-150))
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
(let ((gp-8 (rand-vu-int-range 3 (+ (-> self node-list length) -1))))
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* (if (rand-vu-percent? 0.5)
|
||||
255
|
||||
256
|
||||
)
|
||||
)
|
||||
(vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data gp-8))
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
(if (rand-vu-percent? 0.5)
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* 257)
|
||||
(vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data gp-8))
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-168 (rand-vu-int-range 3 (+ (-> self node-list length) -1))))
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* 260)
|
||||
(vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data v1-168))
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
(cpad-set-buzz! (-> *cpad-list* cpads 0) 0 1 30)
|
||||
)
|
||||
((4)
|
||||
(change-sound! (-> self sound) (static-sound-name "green-eco-jak"))
|
||||
(let ((s4-8 (rand-vu-int-range 3 (+ (-> self node-list length) -1))))
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* (if (rand-vu-percent? 0.5)
|
||||
277
|
||||
278
|
||||
)
|
||||
)
|
||||
(vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data s4-8))
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
(dotimes (gp-11 2)
|
||||
(let ((v1-188 (rand-vu-int-range 3 (+ (-> self node-list length) -1))))
|
||||
(sp-launch-particles-var
|
||||
*sp-particle-system-2d*
|
||||
(-> *part-id-table* 279)
|
||||
(vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data v1-188))
|
||||
(the-as sparticle-launch-state #f)
|
||||
(the-as sparticle-launch-control #f)
|
||||
1.0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(update-trans! (-> self sound) (-> self control trans))
|
||||
(update! (-> self sound))
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-powerup-effect
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior target-powerup-effect target ((arg0 symbol))
|
||||
(case arg0
|
||||
(('eco-blue)
|
||||
(let ((v1-4 (rand-vu-int-range 3 (+ (-> self node-list length) -1))))
|
||||
(eco-blue-glow (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data v1-4)))
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
+1621
File diff suppressed because it is too large
Load Diff
+2841
File diff suppressed because it is too large
Load Diff
@@ -198,6 +198,9 @@
|
||||
],
|
||||
"plant-boss-intro": [
|
||||
"code" // cfg
|
||||
],
|
||||
"energydoor-opened": [
|
||||
"trans" // cfg
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user