mirror of
https://github.com/open-goal/jak-project
synced 2026-08-04 09:09:52 -04:00
decomp: Re-attempting previously blocked state decomp files (#907)
* blocked: `part-tester` - `code` handler thinks it returns nothing * blocked: `crates` finished but `go` is returning none causing issues * blocked: `(event ram-boss-idle)::snow-ram-boss` expression building fails due to delay slot issue * decomp: finish `snow-ram` | `seagull` blocked, new static data issue * decomp: finish `snow-bumper` * stuck: `snow-ball` close, can't figure out a type made on the stack * decomp: finish `spider-egg` * decomp: finish `puffer` * decomp: finish `driller-lurker` * decomp: finish `dark-crystal` * stuck: `kermit` - mostly done but stuck on a joint related callback arg * decomp: finish `gnawer` * decomp: finish `mother-spider-egg` * decomp: finish `swamp-blimp` * stuck: `mistycannon` prebind function signature * decomp: finish `citb-plat` * decomp: finish `darkvine` * blocked: `jungle-mirrors` - issues with `link` macro * decomp: finish `launcherdoor` * decomp: finish `quicksandlurker` except for 1 unused function * stuck: `balloonlurker` - `(code balloonlurker-mine-explode)` has some weird joint related code * stuck: need to decompile an asm func in `orbit-plat` * decomp: finish `voicebox` * blocked: `mother-spider` has issues where `go` returns none * decomp: finish `bully` * decomp: finish `seagull` * fixed up after merge conflicts * decomp: finish `jungle-mirrors` * update gsrc * double checked files, fixed issues * decomp: revert change to projectile methods * decomp: some more fixes * address feedback * fix up remaining method calls in `cam-states` * fix jungle-mirrors
This commit is contained in:
+1
-1
@@ -384,7 +384,7 @@
|
||||
(if *display-cam-los-debug*
|
||||
(format *stdcon* "ride edge~%")
|
||||
)
|
||||
(let ((s4-2 (new 'stack-no-clear 'collide-mesh-cache-tri))
|
||||
(let ((s4-2 (new 'stack-no-clear 'collide-tri-result))
|
||||
(gp-5 (new 'stack-no-clear 'vector))
|
||||
(s5-2 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
|
||||
+10
-10
@@ -1325,7 +1325,7 @@
|
||||
(defun cam-string-find-position-rel! ((arg0 vector))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector))
|
||||
(s4-0 (new 'stack-no-clear 'vector))
|
||||
(s3-0 (new 'stack-no-clear 'bone))
|
||||
(s3-0 (new 'stack-no-clear 'collide-tri-result))
|
||||
(f30-0 0.0)
|
||||
(s2-0 (new 'stack-no-clear 'matrix))
|
||||
)
|
||||
@@ -1344,7 +1344,7 @@
|
||||
(the-as float 409.6)
|
||||
#x4a09
|
||||
(the-as process #f)
|
||||
(the-as collide-mesh-cache-tri s3-0)
|
||||
s3-0
|
||||
2
|
||||
)
|
||||
0.0
|
||||
@@ -2608,7 +2608,7 @@
|
||||
;; definition for function cam-string-find-hidden
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior cam-string-find-hidden camera-slave ()
|
||||
(let ((s4-0 (new 'stack-no-clear 'collide-mesh-cache-tri))
|
||||
(let ((s4-0 (new 'stack-no-clear 'collide-tri-result))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
(gp-0 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
@@ -2696,7 +2696,7 @@
|
||||
(s5-2 (new-stack-vector0))
|
||||
(gp-2 0)
|
||||
)
|
||||
(let ((s4-2 (new 'stack-no-clear 'collide-mesh-cache-tri))
|
||||
(let ((s4-2 (new 'stack-no-clear 'collide-tri-result))
|
||||
(s3-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(when *debug-segment*
|
||||
@@ -2748,7 +2748,7 @@
|
||||
)
|
||||
(vector+float*! (-> self string-trans) (-> self string-trans) s5-2 f0-24)
|
||||
)
|
||||
(vector-! s3-1 (-> self string-trans) (-> s4-2 normal))
|
||||
(vector-! s3-1 (-> self string-trans) (-> s4-2 intersect))
|
||||
(vector-normalize! s3-1 (the-as float 1.0))
|
||||
(vector-flatten! (-> self velocity) (-> self velocity) s3-1)
|
||||
(set! f30-2 (- f30-2 (* f30-2 f28-1)))
|
||||
@@ -3012,7 +3012,7 @@
|
||||
(vector+! (-> self desired-pos) (-> self desired-pos) (-> *camera* tpos-curr-adj))
|
||||
(set! (-> self string-trans quad) (-> self desired-pos quad))
|
||||
(vector-reset! (-> self velocity))
|
||||
(let ((s4-0 (new 'stack-no-clear 'collide-mesh-cache-tri))
|
||||
(let ((s4-0 (new 'stack-no-clear 'collide-tri-result))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
(gp-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
@@ -3155,7 +3155,7 @@
|
||||
(s4-0 4)
|
||||
(s2-0 0)
|
||||
)
|
||||
(let ((s3-0 (new 'stack-no-clear 'collide-mesh-cache-tri)))
|
||||
(let ((s3-0 (new 'stack-no-clear 'collide-tri-result)))
|
||||
(while (and
|
||||
(< 0.01 f30-1)
|
||||
(and (< (-> *CAMERA-bank* min-detectable-velocity) (vector-length (-> self velocity))) (> s4-0 0))
|
||||
@@ -3180,7 +3180,7 @@
|
||||
(cond
|
||||
((>= f28-0 0.0)
|
||||
(vector+float*! (-> self trans) (-> self trans) gp-2 f28-0)
|
||||
(set! (-> s5-0 quad) (-> s3-0 bbox4w min quad))
|
||||
(set! (-> s5-0 quad) (-> s3-0 normal quad))
|
||||
(vector-flatten! (-> self velocity) (-> self velocity) s5-0)
|
||||
(set! f30-1 (- f30-1 (* f30-1 f28-0)))
|
||||
(set! s2-0 1)
|
||||
@@ -3439,7 +3439,7 @@
|
||||
(let ((f30-2 1.0)
|
||||
(gp-3 (new-stack-vector0))
|
||||
(s5-3 4)
|
||||
(s4-3 (new 'stack-no-clear 'collide-mesh-cache-tri))
|
||||
(s4-3 (new 'stack-no-clear 'collide-tri-result))
|
||||
)
|
||||
(while (and
|
||||
(< 0.01 f30-2)
|
||||
@@ -3457,7 +3457,7 @@
|
||||
(cond
|
||||
((>= f28-0 0.0)
|
||||
(vector+float*! (-> self trans) (-> self trans) gp-3 f28-0)
|
||||
(vector-flatten! (-> self velocity) (-> self velocity) (the-as vector (-> s4-3 bbox4w)))
|
||||
(vector-flatten! (-> self velocity) (-> self velocity) (-> s4-3 normal))
|
||||
(set! f30-2 (- f30-2 (* f30-2 f28-0)))
|
||||
(let ((s3-2 (new-stack-vector0)))
|
||||
(vector-! s3-2 (-> self trans) (-> *camera* tpos-curr-adj))
|
||||
|
||||
+51
-51
@@ -427,57 +427,57 @@
|
||||
|
||||
;; definition of type camera-slave
|
||||
(deftype camera-slave (process)
|
||||
((trans vector :inline :offset-assert 112)
|
||||
(fov float :offset-assert 128)
|
||||
(fov0 float :offset-assert 132)
|
||||
(fov1 float :offset-assert 136)
|
||||
(fov-index cam-index :inline :offset-assert 144)
|
||||
(tracking cam-rotation-tracker :inline :offset-assert 192)
|
||||
(view-off-param float :offset-assert 400)
|
||||
(unknown-symbol symbol :offset 412)
|
||||
(view-off vector :inline :offset-assert 416)
|
||||
(min-z-override float :offset-assert 432)
|
||||
(view-flat vector :inline :offset-assert 448)
|
||||
(string-vel-dir uint32 :offset-assert 464)
|
||||
(string-trans vector :inline :offset-assert 480)
|
||||
(position-spline tracking-spline :inline :offset-assert 496)
|
||||
(pivot-pt vector :inline :offset-assert 2144)
|
||||
(pivot-rad float :offset-assert 2160)
|
||||
(circular-follow vector :inline :offset-assert 2176)
|
||||
(max-angle-offset float :offset-assert 2192)
|
||||
(max-angle-curr float :offset-assert 2196)
|
||||
(options uint32 :offset-assert 2200)
|
||||
(cam-entity entity :offset-assert 2204)
|
||||
(velocity vector :inline :offset-assert 2208)
|
||||
(desired-pos vector :inline :offset-assert 2224)
|
||||
(time-dist-too-far uint32 :offset-assert 2240)
|
||||
(los-state slave-los-state :offset-assert 2244)
|
||||
(good-point vector :inline :offset-assert 2256)
|
||||
(los-tgt-spline-pt int32 :offset-assert 2272)
|
||||
(los-tgt-spline-pt-incarnation int32 :offset-assert 2276)
|
||||
(los-last-pos vector :inline :offset-assert 2288)
|
||||
(intro-curve curve :inline :offset-assert 2304)
|
||||
(intro-offset vector :inline :offset-assert 2336)
|
||||
(intro-t float :offset-assert 2352)
|
||||
(intro-t-step float :offset-assert 2356)
|
||||
(outro-exit-value float :offset-assert 2360)
|
||||
(spline-exists basic :offset-assert 2364)
|
||||
(spline-curve curve :inline :offset-assert 2368)
|
||||
(spline-offset vector :inline :offset-assert 2400)
|
||||
(index cam-index :inline :offset-assert 2416)
|
||||
(saved-pt vector :inline :offset-assert 2464)
|
||||
(spline-tt float :offset-assert 2480)
|
||||
(spline-follow-dist float :offset-assert 2484)
|
||||
(change-event-from uint32 :offset-assert 2488)
|
||||
(enter-has-run symbol :offset-assert 2492)
|
||||
(blend-from-type uint64 :offset-assert 2496)
|
||||
(blend-to-type uint64 :offset-assert 2504)
|
||||
(have-phony-joystick basic :offset-assert 2512)
|
||||
(phony-joystick-x float :offset-assert 2516)
|
||||
(phony-joystick-y float :offset-assert 2520)
|
||||
(string-min-val vector :inline :offset-assert 2528)
|
||||
(string-max-val vector :inline :offset-assert 2544)
|
||||
(string-val-locked basic :offset-assert 2560)
|
||||
((trans vector :inline :offset-assert 112)
|
||||
(fov float :offset-assert 128)
|
||||
(fov0 float :offset-assert 132)
|
||||
(fov1 float :offset-assert 136)
|
||||
(fov-index cam-index :inline :offset-assert 144)
|
||||
(tracking cam-rotation-tracker :inline :offset-assert 192)
|
||||
(view-off-param float :offset-assert 400)
|
||||
(unknown-symbol symbol :offset 412)
|
||||
(view-off vector :inline :offset-assert 416)
|
||||
(min-z-override float :offset-assert 432)
|
||||
(view-flat vector :inline :offset-assert 448)
|
||||
(string-vel-dir uint32 :offset-assert 464)
|
||||
(string-trans vector :inline :offset-assert 480)
|
||||
(position-spline tracking-spline :inline :offset-assert 496)
|
||||
(pivot-pt vector :inline :offset-assert 2144)
|
||||
(pivot-rad float :offset-assert 2160)
|
||||
(circular-follow vector :inline :offset-assert 2176)
|
||||
(max-angle-offset float :offset-assert 2192)
|
||||
(max-angle-curr float :offset-assert 2196)
|
||||
(options uint32 :offset-assert 2200)
|
||||
(cam-entity entity :offset-assert 2204)
|
||||
(velocity vector :inline :offset-assert 2208)
|
||||
(desired-pos vector :inline :offset-assert 2224)
|
||||
(time-dist-too-far uint32 :offset-assert 2240)
|
||||
(los-state slave-los-state :offset-assert 2244)
|
||||
(good-point vector :inline :offset-assert 2256)
|
||||
(los-tgt-spline-pt int32 :offset-assert 2272)
|
||||
(los-tgt-spline-pt-incarnation int32 :offset-assert 2276)
|
||||
(los-last-pos vector :inline :offset-assert 2288)
|
||||
(intro-curve curve :inline :offset-assert 2304)
|
||||
(intro-offset vector :inline :offset-assert 2336)
|
||||
(intro-t float :offset-assert 2352)
|
||||
(intro-t-step float :offset-assert 2356)
|
||||
(outro-exit-value float :offset-assert 2360)
|
||||
(spline-exists basic :offset-assert 2364)
|
||||
(spline-curve curve :inline :offset-assert 2368)
|
||||
(spline-offset vector :inline :offset-assert 2400)
|
||||
(index cam-index :inline :offset-assert 2416)
|
||||
(saved-pt vector :inline :offset-assert 2464)
|
||||
(spline-tt float :offset-assert 2480)
|
||||
(spline-follow-dist float :offset-assert 2484)
|
||||
(change-event-from (pointer process-drawable) :offset-assert 2488)
|
||||
(enter-has-run symbol :offset-assert 2492)
|
||||
(blend-from-type uint64 :offset-assert 2496)
|
||||
(blend-to-type uint64 :offset-assert 2504)
|
||||
(have-phony-joystick basic :offset-assert 2512)
|
||||
(phony-joystick-x float :offset-assert 2516)
|
||||
(phony-joystick-y float :offset-assert 2520)
|
||||
(string-min-val vector :inline :offset-assert 2528)
|
||||
(string-max-val vector :inline :offset-assert 2544)
|
||||
(string-val-locked basic :offset-assert 2560)
|
||||
)
|
||||
:heap-base #x9a0
|
||||
:method-count-assert 14
|
||||
|
||||
+2
-2
@@ -947,11 +947,11 @@
|
||||
(cond
|
||||
(*camera*
|
||||
(set! (-> self options) (-> *camera* slave-options))
|
||||
(set! (-> self change-event-from) (-> *camera* changer))
|
||||
(set! (-> self change-event-from) (the-as (pointer process-drawable) (-> *camera* changer)))
|
||||
)
|
||||
(else
|
||||
(set! (-> self options) (the-as uint 0))
|
||||
(set! (-> self change-event-from) (the-as uint #f))
|
||||
(set! (-> self change-event-from) (the-as (pointer process-drawable) #f))
|
||||
)
|
||||
)
|
||||
(cond
|
||||
|
||||
+1
-1
@@ -180,7 +180,7 @@
|
||||
:flag-assert #x2100008670
|
||||
(:methods
|
||||
(dummy-9 (_type_) none 9)
|
||||
(dummy-10 (_type_ vector vector float int process collide-mesh-cache-tri int) float 10)
|
||||
(dummy-10 (_type_ vector vector float int process collide-tri-result int) float 10)
|
||||
(dummy-11 (_type_ collide-using-spheres-params) none 11)
|
||||
(fill-and-probe-using-y-probe (_type_ vector float uint process collide-tri-result uint) float 12)
|
||||
(dummy-13 (_type_ bounding-box uint process-drawable uint) none 13)
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@
|
||||
(deftype part-tester (process)
|
||||
((root trsqv :offset-assert 112)
|
||||
(part sparticle-launch-control :offset-assert 116)
|
||||
(old-group basic :offset-assert 120)
|
||||
(old-group sparticle-launch-group :offset-assert 120)
|
||||
)
|
||||
:heap-base #x100
|
||||
:method-count-assert 14
|
||||
|
||||
+294
@@ -0,0 +1,294 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type camera-voicebox
|
||||
(deftype camera-voicebox (camera-slave)
|
||||
()
|
||||
:heap-base #x9a0
|
||||
:method-count-assert 14
|
||||
:size-assert #xa04
|
||||
:flag-assert #xe09a00a04
|
||||
)
|
||||
|
||||
;; definition for method 3 of type camera-voicebox
|
||||
(defmethod inspect camera-voicebox ((obj camera-voicebox))
|
||||
(let ((t9-0 (method-of-type camera-slave inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type voicebox
|
||||
(deftype voicebox (process-drawable)
|
||||
((parent-override (pointer camera-voicebox) :offset 12)
|
||||
(base-trans vector :inline :offset-assert 176)
|
||||
(seeker cam-float-seeker :inline :offset-assert 192)
|
||||
(blend float :offset-assert 216)
|
||||
(twist float :offset-assert 220)
|
||||
(hint handle :offset-assert 224)
|
||||
)
|
||||
:heap-base #x80
|
||||
:method-count-assert 23
|
||||
:size-assert #xe8
|
||||
:flag-assert #x17008000e8
|
||||
(:methods
|
||||
(enter () _type_ :state 20)
|
||||
(idle () _type_ :state 21)
|
||||
(exit () _type_ :state 22)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type voicebox
|
||||
(defmethod inspect voicebox ((obj voicebox))
|
||||
(let ((t9-0 (method-of-type process-drawable inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~T~Tbase-trans: ~`vector`P~%" (-> obj base-trans))
|
||||
(format #t "~T~Tseeker: #<cam-float-seeker @ #x~X>~%" (-> obj seeker))
|
||||
(format #t "~T~Tblend: ~f~%" (-> obj blend))
|
||||
(format #t "~T~Ttwist: ~f~%" (-> obj twist))
|
||||
(format #t "~T~Thint: ~D~%" (-> obj hint))
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate empty-state (process)
|
||||
:code
|
||||
(the-as (function none :behavior process) nothing)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defskelgroup *voicebox-sg* speaker
|
||||
0
|
||||
2
|
||||
((1 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 4)
|
||||
:longest-edge (meters 0)
|
||||
)
|
||||
|
||||
;; definition for function voicebox-track
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior voicebox-track voicebox ()
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(set! (-> gp-0 quad) (-> self parent-override 0 trans quad))
|
||||
(set! (-> s5-0 quad) (-> (target-pos 68) quad))
|
||||
(when *target*
|
||||
(let ((a2-0 (vector-z-quaternion! (new-stack-vector0) (-> *target* control unknown-quaternion00))))
|
||||
(vector+float*! s5-0 s5-0 a2-0 (* -16384.0 (- 1.0 (-> self blend))))
|
||||
)
|
||||
)
|
||||
(vector-lerp! (-> self root trans) gp-0 s5-0 (-> self blend))
|
||||
)
|
||||
(+!
|
||||
(-> self root trans y)
|
||||
(* 1638.4 (sin (* 54.613335 (the float (mod (-> *display* base-frame-counter) 1200)))))
|
||||
)
|
||||
(let ((gp-1 (new 'stack-no-clear 'quaternion)))
|
||||
(forward-up->quaternion
|
||||
gp-1
|
||||
(vector-normalize! (vector-! (new 'stack-no-clear 'vector) (target-pos 37) (-> self root trans)) 1.0)
|
||||
(new 'static 'vector :y 1.0 :w 1.0)
|
||||
)
|
||||
(rotate-toward-orientation! (-> self root) gp-1 65536.0 5461.3335)
|
||||
)
|
||||
(when *target*
|
||||
(let* ((gp-2 (-> *target* control))
|
||||
(s4-2 (-> self root trans))
|
||||
(f0-8
|
||||
(deg-diff (y-angle gp-2) (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s4-2 (-> gp-2 trans))))
|
||||
)
|
||||
)
|
||||
(if (< 0.0 f0-8)
|
||||
(set! (-> self twist) (seek (-> self twist) -0.4 (* 0.3 (-> *display* seconds-per-frame))))
|
||||
(set! (-> self twist) (seek (-> self twist) 0.4 (* 0.3 (-> *display* seconds-per-frame))))
|
||||
)
|
||||
)
|
||||
(let ((a1-9 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-9 from) self)
|
||||
(set! (-> a1-9 num-params) 0)
|
||||
(set! (-> a1-9 message) 'blocked-side?)
|
||||
(case (send-event-function (ppointer->process (-> self parent-override)) a1-9)
|
||||
((1)
|
||||
(set! (-> self twist) 0.5)
|
||||
)
|
||||
((2)
|
||||
(set! (-> self twist) -0.5)
|
||||
)
|
||||
((3)
|
||||
(set! (-> self twist) 0.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event (ppointer->process (-> self parent-override)) 'joystick (-> self twist) -1.0)
|
||||
)
|
||||
(set! (-> self root scale x) (lerp-scale 1.0 0.0 (-> self blend) 0.8 1.0))
|
||||
(set! (-> self root scale y) (-> self root scale x))
|
||||
(set! (-> self root scale z) (-> self root scale x))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate enter (voicebox)
|
||||
:virtual #t
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2
|
||||
(('die)
|
||||
(go-virtual exit)
|
||||
)
|
||||
)
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(voicebox-track)
|
||||
(if (< 0.1 (-> self blend))
|
||||
(point-toward-point-clear-roll-pitch! (-> self root) (target-pos 0))
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(set-setting! *setting-control* self 'sound-flava #f 20.0 6)
|
||||
(if (and *target* (logtest? (-> *target* control root-prim prim-core action) 512))
|
||||
(send-event
|
||||
(ppointer->process (-> self parent-override))
|
||||
'set-dist
|
||||
(new 'static 'vector :z 8192.0 :w 1.0)
|
||||
(new 'static 'vector :y 20480.0 :z 12288.0 :w 1.0)
|
||||
)
|
||||
(send-event
|
||||
(ppointer->process (-> self parent-override))
|
||||
'set-dist
|
||||
(new 'static 'vector :z 16384.0 :w 1.0)
|
||||
(new 'static 'vector :y 20480.0 :z 40960.0 :w 1.0)
|
||||
)
|
||||
)
|
||||
(init-cam-float-seeker (-> self seeker) 1.0 0.01 0.022222223 0.1)
|
||||
(set! (-> self seeker target) 0.0)
|
||||
(while (< 0.0001 (-> self blend))
|
||||
(update! (-> self seeker) 0.0)
|
||||
(set! (-> self blend) (-> self seeker value))
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self blend) 0.0)
|
||||
(go-virtual idle)
|
||||
(none)
|
||||
)
|
||||
:post
|
||||
(the-as (function none :behavior voicebox) ja-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate idle (voicebox)
|
||||
:virtual #t
|
||||
:event
|
||||
(-> (method-of-type voicebox enter) event)
|
||||
:trans
|
||||
voicebox-track
|
||||
:code
|
||||
(behavior ()
|
||||
(while #t
|
||||
(suspend)
|
||||
(let ((a0-0 (-> self skel root-channel 0)))
|
||||
(set! (-> a0-0 param 0) 1.0)
|
||||
(joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:post
|
||||
(the-as (function none :behavior voicebox) ja-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate exit (voicebox)
|
||||
:virtual #t
|
||||
:trans
|
||||
voicebox-track
|
||||
:code
|
||||
(behavior ()
|
||||
(clear-pending-settings-from-process *setting-control* self 'sound-flava)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self seeker target) 1.0)
|
||||
(while (and (< (-> self blend) 0.9999) (not (and
|
||||
(not (handle->process (-> self hint)))
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 15)
|
||||
(-> *setting-control* current hint)
|
||||
)
|
||||
)
|
||||
)
|
||||
(update! (-> self seeker) 0.0)
|
||||
(set! (-> self blend) (-> self seeker value))
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self blend) 1.0)
|
||||
(send-event (ppointer->process (-> self parent-override)) 'go empty-state)
|
||||
(suspend)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
:post
|
||||
(the-as (function none :behavior voicebox) ja-post)
|
||||
)
|
||||
|
||||
;; definition for function voicebox-init-by-other
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior voicebox-init-by-other voicebox ((arg0 vector) (arg1 handle))
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(set! (-> self hint) arg1)
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self base-trans quad) (-> arg0 quad))
|
||||
(initialize-skeleton self *voicebox-sg* '())
|
||||
(set! (-> self blend) 1.0)
|
||||
(go-virtual enter)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate cam-voicebox (camera-voicebox)
|
||||
:event
|
||||
(-> cam-string event)
|
||||
:enter
|
||||
(-> cam-string enter)
|
||||
:trans
|
||||
(behavior ()
|
||||
(if (zero? (logand (-> *camera* master-options) 2))
|
||||
(deactivate self)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
(-> cam-string code)
|
||||
)
|
||||
|
||||
;; definition for function voicebox-spawn
|
||||
(defun voicebox-spawn ((arg0 process) (arg1 vector))
|
||||
(with-pp
|
||||
(let* ((s3-0 (get-process *camera-dead-pool* camera-voicebox #x4000))
|
||||
(s4-0 (when s3-0
|
||||
(let ((t9-1 (method-of-type camera-voicebox activate)))
|
||||
(t9-1 (the-as camera-voicebox s3-0) arg0 'camera-voicebox (the-as pointer #x70004000))
|
||||
)
|
||||
(run-now-in-process s3-0 cam-slave-init cam-voicebox #f)
|
||||
(-> s3-0 ppointer)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when s4-0
|
||||
(let ((s5-1 (get-process *default-dead-pool* voicebox #x4000)))
|
||||
(when s5-1
|
||||
(let ((t9-4 (method-of-type voicebox activate)))
|
||||
(t9-4 (the-as voicebox s5-1) (ppointer->process s4-0) 'voicebox (the-as pointer #x70004000))
|
||||
)
|
||||
(run-now-in-process s5-1 voicebox-init-by-other arg1 (process->handle pp))
|
||||
(-> s5-1 ppointer)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
+2
-2
@@ -377,7 +377,7 @@
|
||||
(point-in-bounds? (_type_ vector) symbol 10)
|
||||
(dummy-11 (_type_ vector) none 11)
|
||||
(dummy-12 () none 12)
|
||||
(dummy-13 () none 13)
|
||||
(dummy-13 (_type_ vector vector) vector 13)
|
||||
(set-current-poly! (_type_ nav-poly) none 14)
|
||||
(set-target-pos! (_type_ vector) none 15)
|
||||
(dummy-16 (_type_ vector) nav-poly 16)
|
||||
@@ -391,7 +391,7 @@
|
||||
(dummy-24 (_type_ float clip-travel-vector-to-mesh-return-info) none 24)
|
||||
(dummy-25 (_type_ vector float) symbol 25)
|
||||
(dummy-26 (_type_) none 26)
|
||||
(dummy-27 () none 27)
|
||||
(dummy-27 (_type_) none 27)
|
||||
(dummy-28 (_type_ int) none 28)
|
||||
(should-display? (_type_) symbol 29)
|
||||
(dummy-30 () none 30)
|
||||
|
||||
+6
-6
@@ -1843,9 +1843,9 @@
|
||||
(-> self control unknown-vector11)
|
||||
(-> self control unknown-vector14)
|
||||
)
|
||||
(let ((a1-3 (new 'stack-no-clear 'collide-edge-hold-list)))
|
||||
(set! (-> a1-3 num-allocs) (the-as uint 1))
|
||||
(set! (-> a1-3 num-attempts) (the-as uint *touching-list*))
|
||||
(let ((a1-3 (new 'stack-no-clear 'overlaps-others-params)))
|
||||
(set! (-> a1-3 options) (the-as uint 1))
|
||||
(set! (-> a1-3 tlist) *touching-list*)
|
||||
(dummy-40 (-> self control) a1-3)
|
||||
)
|
||||
(post-flag-setup)
|
||||
@@ -1955,9 +1955,9 @@
|
||||
(-> self control unknown-vector11)
|
||||
(-> self control unknown-vector14)
|
||||
)
|
||||
(let ((a1-2 (new 'stack-no-clear 'collide-edge-hold-list)))
|
||||
(set! (-> a1-2 num-allocs) (the-as uint 1))
|
||||
(set! (-> a1-2 num-attempts) (the-as uint *touching-list*))
|
||||
(let ((a1-2 (new 'stack-no-clear 'overlaps-others-params)))
|
||||
(set! (-> a1-2 options) (the-as uint 1))
|
||||
(set! (-> a1-2 tlist) *touching-list*)
|
||||
(dummy-40 (-> self control) a1-2)
|
||||
)
|
||||
(target-calc-camera-pos)
|
||||
|
||||
Reference in New Issue
Block a user