clean up casts around conds with elses (#904)

This commit is contained in:
water111 2021-10-16 12:02:49 -04:00 committed by GitHub
parent 7e91fc1f3c
commit 9225d28444
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 712 additions and 1079 deletions

View file

@ -3345,6 +3345,9 @@ void CondNoElseElement::push_to_stack(const Env& env, FormPool& pool, FormStack&
stack.push_value_to_reg(write_as_value, as_ppointer_to_process, true,
env.get_variable_type(final_destination, false));
} else {
// fmt::print("func {} final destination {} type {}\n", env.func->name(),
// final_destination.to_string(env),
// env.get_variable_type(final_destination, false).print());
stack.push_value_to_reg(write_as_value, pool.alloc_single_form(nullptr, this), true,
env.get_variable_type(final_destination, false));
}
@ -3437,7 +3440,9 @@ void CondWithElseElement::push_to_stack(const Env& env, FormPool& pool, FormStac
rewrite_as_set = false;
break;
}
source_types.push_back(last_in_body->src_type());
// note: we use the dest type here because the rewrite will leave behind a cast to this.
auto type = env.get_variable_type(last_in_body->dst(), true);
source_types.push_back(type);
}
last_var = last_in_body->dst();
}
@ -3507,6 +3512,8 @@ void CondWithElseElement::push_to_stack(const Env& env, FormPool& pool, FormStac
// (set! x (if y z (expr))) and z requires a cast, but the move from z to x is
// eliminated by GOAL's register allocator.
// fmt::print("func: {}\n", env.func->name());
// fmt::print("checking:\n");
// for (auto& t : source_types) {
// fmt::print(" {}\n", t.print());

View file

@ -12,48 +12,26 @@
(let ((v1-0 arg2))
(the-as object (cond
((= v1-0 'point-of-interest)
(the-as none (cond
(cond
((-> arg3 param 0)
(set! (-> (the-as camera-slave self) unknown-symbol) #t)
(set!
(->
(the-as camera-slave self)
unknown-symbol
)
#t
)
(set!
(->
(the-as camera-slave self)
view-off
quad
)
(-> (the-as camera-slave self) view-off quad)
(-> (the-as vector (-> arg3 param 0)) quad)
)
(let ((f0-0 1.0))
(set!
(->
(the-as camera-slave self)
min-z-override
)
(-> (the-as camera-slave self) min-z-override)
f0-0
)
f0-0
)
)
(else
(set!
(->
(the-as camera-slave self)
unknown-symbol
)
#f
)
(set! (-> (the-as camera-slave self) unknown-symbol) #f)
(let ((f0-1 0.0))
(set!
(->
(the-as camera-slave self)
min-z-override
)
(-> (the-as camera-slave self) min-z-override)
f0-1
)
f0-1
@ -61,7 +39,6 @@
)
)
)
)
((= v1-0 'set-interpolation)
(set! (-> (the-as camera-combiner self) interp-val) 0.0)
(let ((f0-4 (/ 5.0 (the float (-> arg3 param 0)))))

View file

@ -1319,42 +1319,26 @@
)
)
((= v1-0 'point-of-interest)
(the-as none (cond
(cond
((-> arg3 param 0)
(set!
(-> self tracking use-point-of-interest)
#t
)
(set! (-> self tracking use-point-of-interest) #t)
(set!
(-> self tracking point-of-interest quad)
(-> (the-as vector (-> arg3 param 0)) quad)
)
(let ((f0-0 1.0))
(set!
(->
self
tracking
point-of-interest-blend
target
)
(-> self tracking point-of-interest-blend target)
f0-0
)
f0-0
)
)
(else
(set!
(-> self tracking use-point-of-interest)
#f
)
(set! (-> self tracking use-point-of-interest) #f)
(let ((f0-1 0.0))
(set!
(->
self
tracking
point-of-interest-blend
target
)
(-> self tracking point-of-interest-blend target)
f0-1
)
f0-1
@ -1362,7 +1346,6 @@
)
)
)
)
((= v1-0 'teleport)
(cam-calc-follow! (-> self tracking) (-> self trans) #f)
(slave-set-rotation!

View file

@ -468,6 +468,7 @@
:flag-assert #x1401300198
)
(defun anim-tester-num-print ((arg0 basic) (arg1 float))
(cond
((= arg1 (-> (new 'static 'array float 1 -2.0) 0))
@ -3149,8 +3150,8 @@
(format (clear *temp-string*) "data/~s.obinf" (-> arg0 privname))
(gp-0 s4-0 s3-0 s2-0 *temp-string*)
)
;; TODO - manually fixed
(format (clear *temp-string*) "data/~s.obinf" (-> arg0 privname))
;; TODO: manually fixed
(let ((gp-2 (new 'stack 'file-stream *temp-string* 'write)))
(format gp-2 "major-version 0~%")
(format gp-2 "minor-version 0~%")
@ -3652,6 +3653,8 @@
)
(defmethod inspect anim-tester ((obj anim-tester))
(format #t "--anim-tester--~%")
(let ((v1-0 (-> obj obj-list)))

View file

@ -129,16 +129,12 @@
(defmethod TODO-RENAME-9 effect-control ((obj effect-control))
(let* ((a0-1 (-> obj process skel))
(v1-3
(the-as
joint-control-channel
(if (< (-> obj channel-offset) (-> a0-1 active-channels))
(v1-3 (if (< (-> obj channel-offset) (-> a0-1 active-channels))
(-> a0-1 root-channel (-> obj channel-offset))
(the-as joint-control-channel #f)
)
)
)
)
(cond
((and v1-3 (-> v1-3 frame-group))
(let* ((s5-0 (-> v1-3 frame-group))
@ -166,15 +162,12 @@
)
)
)
(set!
(-> obj name)
(the-as (pointer res-tag) (if (>= (the-as int v1-6) 0)
(set! (-> obj name) (if (>= (the-as int v1-6) 0)
(&-> (-> s5-0 extra tag) v1-6)
(the-as (pointer res-tag) #f)
)
)
)
)
(if (and (-> obj name) (= (-> obj name 0 key-frame) -1000000000.0))
(set! (-> obj name) (&-> (-> obj name) 1))
)
@ -335,13 +328,12 @@
)
)
)
(the-as int (if (zero? v0-0)
(if (zero? v0-0)
0
(the-as int (+ v0-0 1))
)
)
)
)
(else
(empty)
arg2
@ -469,7 +461,10 @@
)
)
)
(s2-1
((the-as
(function object object object object object object object object none)
s2-1
)
s1-0
s0-0
(the-as sparticle-launch-group s3-0)
@ -570,7 +565,19 @@
)
)
)
(s2-3 s1-2 s0-2 s3-0 sv-224 sv-240 sv-256 sv-272 t3-1)
((the-as
(function object object object object object object object object none)
s2-3
)
s1-2
s0-2
s3-0
sv-224
sv-240
sv-256
sv-272
t3-1
)
)
)
(-> s4-3 ppointer)

View file

@ -25,13 +25,11 @@
(defmethod login-adgifs merc-fragment ((obj merc-fragment))
"Set up a merc-fragment. Does adgifs and eye stuff"
(let* ((fp-data (merc-fragment-fp-data obj))
(eye-ctrl
(the-as merc-eye-ctrl (if (nonzero? (-> *merc-ctrl-header* eye-ctrl))
(eye-ctrl (if (nonzero? (-> *merc-ctrl-header* eye-ctrl))
(-> *merc-ctrl-header* eye-ctrl)
(the-as merc-eye-ctrl #f)
)
)
)
(shader (the-as adgif-shader (&+ fp-data 16)))
)
(dotimes (s2-0 (the-as int (-> fp-data shader-cnt)))

View file

@ -9,7 +9,8 @@
(declare-type lurkercrab nav-enemy)
(define-extern lurkercrab-pushed (state lurkercrab))
;; failed to figure out what this is:
;; DECOMP BEGINS
(set!
(-> *part-group-id-table* 159)
(new 'static 'sparticle-launch-group
@ -27,7 +28,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 663)
(new 'static 'sparticle-launcher
@ -53,7 +53,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 664)
(new 'static 'sparticle-launcher
@ -81,7 +80,6 @@
)
)
;; definition of type lurkercrab
(deftype lurkercrab (nav-enemy)
((orient basic :offset-assert 400)
)
@ -91,16 +89,7 @@
:flag-assert #x4c01300194
)
;; definition for method 3 of type lurkercrab
(defmethod inspect lurkercrab ((obj lurkercrab))
(let ((t9-0 (method-of-type nav-enemy inspect)))
(t9-0 obj)
)
(format #t "~T~Torient: ~A~%" (-> obj orient))
obj
)
;; failed to figure out what this is:
(let
((v1-4
(new 'static 'skeleton-group
@ -122,8 +111,6 @@
(set! *lurkercrab-sg* v1-4)
)
;; definition for method 44 of type lurkercrab
;; INFO: Return type mismatch none vs object.
(defmethod
dummy-44
lurkercrab
@ -150,13 +137,10 @@
)
)
;; definition for method 43 of type lurkercrab
;; INFO: Return type mismatch none vs object.
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
;; Used lq/sq
(defmethod
dummy-43
lurkercrab
@ -170,21 +154,14 @@
(go (method-of-object obj nav-enemy-die))
)
((= v1-1 'punch)
(the-as none (cond
(cond
((logtest? (-> obj nav-enemy-flags) 32)
(logclear!
(-> obj mask)
(process-mask actor-pause)
)
(logclear! (-> obj mask) (process-mask actor-pause))
(go (method-of-object obj nav-enemy-die))
)
((begin
(let ((s4-0 (new 'stack-no-clear 'vector)))
(let
((f30-0
(quaternion-xz-angle (target-rot))
)
)
(let ((f30-0 (quaternion-xz-angle (target-rot))))
(set-vector!
s4-0
(* 24576.0 (sin f30-0))
@ -193,15 +170,8 @@
1.0
)
)
(vector+!
s4-0
(-> obj collide-info trans)
s4-0
)
(set!
(-> obj nav target-pos quad)
(-> s4-0 quad)
)
(vector+! s4-0 (-> obj collide-info trans) s4-0)
(set! (-> obj nav target-pos quad) (-> s4-0 quad))
)
(go lurkercrab-pushed)
(= s5-0 (-> obj incomming-attack-id))
@ -213,14 +183,8 @@
)
)
)
)
(else
(the-as none (cond
((logtest? (-> obj nav-enemy-flags) 32)
(logclear!
(-> obj mask)
(process-mask actor-pause)
)
(logclear! (-> obj mask) (process-mask actor-pause))
(go (method-of-object obj nav-enemy-die))
)
((begin
@ -231,15 +195,8 @@
(target-pos 0)
)
(vector-normalize! s4-1 24576.0)
(vector+!
s4-1
(-> obj collide-info trans)
s4-1
)
(set!
(-> obj nav target-pos quad)
(-> s4-1 quad)
)
(vector+! s4-1 (-> obj collide-info trans) s4-1)
(set! (-> obj nav target-pos quad) (-> s4-1 quad))
)
(go lurkercrab-pushed)
(= s5-0 (-> obj incomming-attack-id))
@ -254,15 +211,9 @@
)
)
)
)
)
)
;; failed to figure out what this is:
nav-enemy-default-event-handler
;; definition for method 37 of type lurkercrab
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-37 lurkercrab ((obj lurkercrab))
(when (-> obj orient)
(if (logtest? (nav-control-flags bit19) (-> obj nav flags))
@ -291,8 +242,6 @@ nav-enemy-default-event-handler
(none)
)
;; definition for method 38 of type lurkercrab
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-38 lurkercrab ((obj lurkercrab))
(dummy-59
(-> obj collide-info)
@ -307,7 +256,6 @@ nav-enemy-default-event-handler
(none)
)
;; failed to figure out what this is:
(defstate nav-enemy-idle (lurkercrab)
:virtual #t
:event
@ -405,7 +353,6 @@ nav-enemy-default-event-handler
)
)
;; definition for function lurkercrab-invulnerable
(defbehavior lurkercrab-invulnerable lurkercrab ()
(set! (-> self nav-enemy-flags) (logand -33 (-> self nav-enemy-flags)))
(let ((v1-3 (dummy-34 (-> self collide-info) (the-as uint 2))))
@ -418,7 +365,6 @@ nav-enemy-default-event-handler
)
)
;; definition for function lurkercrab-vulnerable
(defbehavior lurkercrab-vulnerable lurkercrab ()
(logior! (-> self nav-enemy-flags) 32)
(let ((v1-3 (dummy-34 (-> self collide-info) (the-as uint 2))))
@ -431,7 +377,6 @@ nav-enemy-default-event-handler
)
)
;; failed to figure out what this is:
(defstate nav-enemy-patrol (lurkercrab)
:virtual #t
:event
@ -705,7 +650,6 @@ nav-enemy-default-event-handler
)
)
;; failed to figure out what this is:
(defstate nav-enemy-notice (lurkercrab)
:virtual #t
:event
@ -720,7 +664,6 @@ nav-enemy-default-event-handler
)
)
;; failed to figure out what this is:
(defstate nav-enemy-chase (lurkercrab)
:virtual #t
:event
@ -1017,7 +960,6 @@ nav-enemy-default-event-handler
)
)
;; failed to figure out what this is:
(defstate nav-enemy-stop-chase (lurkercrab)
:virtual #t
:event
@ -1032,7 +974,6 @@ nav-enemy-default-event-handler
)
)
;; failed to figure out what this is:
(defstate nav-enemy-stare (lurkercrab)
:virtual #t
:event
@ -1047,7 +988,6 @@ nav-enemy-default-event-handler
)
)
;; failed to figure out what this is:
(defstate nav-enemy-victory (lurkercrab)
:virtual #t
:event
@ -1057,10 +997,7 @@ nav-enemy-default-event-handler
)
:code
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(ja-channel-push! 1 22)
(let ((v1-4 (-> self skel root-channel 0)))
(set!
@ -1087,7 +1024,6 @@ nav-enemy-default-event-handler
)
)
;; failed to figure out what this is:
(defstate lurkercrab-pushed (lurkercrab)
:event
(the-as
@ -1155,7 +1091,6 @@ nav-enemy-default-event-handler
)
)
;; definition for symbol *lurkercrab-nav-enemy-info*, type nav-enemy-info
(define
*lurkercrab-nav-enemy-info*
(new 'static 'nav-enemy-info
@ -1211,7 +1146,6 @@ nav-enemy-default-event-handler
)
)
;; definition for method 11 of type lurkercrab
(defmethod copy-defaults! lurkercrab ((obj lurkercrab) (arg0 res-lump))
(let
((s4-0

View file

@ -100,9 +100,8 @@
(-> self final-pickup-spawn-point quad)
(-> v1-4 root trans quad)
)
(let ((a0-2 (-> self final-pickup-type)))
(the-as none (cond
((= a0-2 (pickup-type fuel-cell))
(case (-> self final-pickup-type)
(((pickup-type fuel-cell))
#f
)
(else
@ -112,14 +111,9 @@
)
(set! (-> v1-4 fact pickup-amount) 1.0)
(let ((f0-1 0.0))
(set!
(-> v1-4 fact pickup-spawn-amount)
(set! (-> v1-4 fact pickup-spawn-amount) f0-1)
f0-1
)
f0-1
)
)
)
)
)
)
@ -512,10 +506,7 @@ battlecontroller-default-event-handler
)
:code
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(if (-> self prespawn)
(battlecontroller-fill-all-spawners)
)
@ -525,10 +516,7 @@ battlecontroller-default-event-handler
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
30
)
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(when
(and
*target*
@ -615,10 +603,7 @@ battlecontroller-default-event-handler
)
:code
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(battlecontroller-camera-on)
(while #t
(when
@ -626,10 +611,7 @@ battlecontroller-default-event-handler
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
30
)
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(let ((gp-0 0))
(let ((v1-8 (-> self child)))
(while v1-8

View file

@ -349,42 +349,6 @@
:flag-assert #x900000068
)
(defmethod
inspect
rigid-body-platform-constants
((obj rigid-body-platform-constants))
(format #t "[~8x] ~A~%" obj 'rigid-body-platform-constants)
(format #t "~Tdrag-factor: ~f~%" (-> obj drag-factor))
(format #t "~Tbuoyancy-factor: ~f~%" (-> obj buoyancy-factor))
(format #t "~Tmax-buoyancy-depth: (meters ~m)~%" (-> obj max-buoyancy-depth))
(format #t "~Tgravity-factor: ~f~%" (-> obj gravity-factor))
(format #t "~Tgravity: (meters ~m)~%" (-> obj gravity))
(format #t "~Tplayer-weight: (meters ~m)~%" (-> obj player-weight))
(format #t "~Tplayer-bonk-factor: ~f~%" (-> obj player-bonk-factor))
(format #t "~Tplayer-dive-factor: ~f~%" (-> obj player-dive-factor))
(format
#t
"~Tplayer-force-distance: (meters ~m)~%"
(-> obj player-force-distance)
)
(format #t "~Tplayer-force-clamp: (meters ~m)~%" (-> obj player-force-clamp))
(format #t "~Tplayer-force-timeout: ~D~%" (-> obj player-force-timeout))
(format #t "~Texplosion-force: (meters ~m)~%" (-> obj explosion-force))
(format #t "~Tlinear-damping: ~f~%" (-> obj linear-damping))
(format #t "~Tangular-damping: ~f~%" (-> obj angular-damping))
(format #t "~Tcontrol-point-count: ~D~%" (-> obj control-point-count))
(format #t "~Tmass: ~f~%" (-> obj mass))
(format #t "~Tinertial-tensor-x: (meters ~m)~%" (-> obj inertial-tensor-x))
(format #t "~Tinertial-tensor-y: (meters ~m)~%" (-> obj inertial-tensor-y))
(format #t "~Tinertial-tensor-z: (meters ~m)~%" (-> obj inertial-tensor-z))
(format #t "~Tcm-joint-x: (meters ~m)~%" (-> obj cm-joint-x))
(format #t "~Tcm-joint-y: (meters ~m)~%" (-> obj cm-joint-y))
(format #t "~Tcm-joint-z: (meters ~m)~%" (-> obj cm-joint-z))
(format #t "~Tidle-distance: (meters ~m)~%" (-> obj idle-distance))
(format #t "~Tplatform: ~A~%" (-> obj platform))
(format #t "~Tsound-name: ~A~%" (-> obj sound-name))
obj
)
(deftype rigid-body-control-point-inline-array (inline-array-class)
((data rigid-body-control-point :inline :dynamic :offset 16)
@ -394,16 +358,6 @@
:flag-assert #x900000010
)
(defmethod
inspect
rigid-body-control-point-inline-array
((obj rigid-body-control-point-inline-array))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tlength: ~D~%" (-> obj length))
(format #t "~Tallocated-length: ~D~%" (-> obj allocated-length))
(format #t "~Tdata[0] @ #x~X~%" (-> obj data))
obj
)
(set! (-> rigid-body-control-point-inline-array heap-base) (the-as uint 48))
@ -696,20 +650,14 @@
(let ((v1-16 (-> arg3 param 2)))
(when (!= v1-16 (-> self player-attack-id))
(set! (-> self player-attack-id) (the-as int v1-16))
(the-as vector (cond
(cond
((= (-> arg3 param 1) 'flop)
(when
(>=
(-
(-> *display* base-frame-counter)
(-> self player-bonk-timeout)
)
(- (-> *display* base-frame-counter) (-> self player-bonk-timeout))
(the-as int (-> self info player-force-timeout))
)
(set!
(-> self player-bonk-timeout)
(-> *display* base-frame-counter)
)
(set! (-> self player-bonk-timeout) (-> *display* base-frame-counter))
(let* ((gp-1 arg0)
(v1-24
(if
@ -722,10 +670,7 @@
)
)
(when v1-24
(set!
(-> self player-impulse)
(the-as collide-shape-prim-mesh #t)
)
(set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t))
(set!
(-> self player-force-position quad)
(-> (the-as process-drawable v1-24) root trans quad)
@ -742,11 +687,7 @@
)
)
)
(vector-float*!
(-> self player-force)
*y-vector*
(- f0-9)
)
(vector-float*! (-> self player-force) *y-vector* (- f0-9))
)
)
)
@ -765,10 +706,7 @@
)
)
(when v1-34
(set!
(-> self player-impulse)
(the-as collide-shape-prim-mesh #t)
)
(set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t))
(set!
(-> self player-force-position quad)
(-> (the-as process-drawable v1-34) root trans quad)
@ -792,7 +730,6 @@
)
)
)
)
(('impulse)
(let ((s5-1 arg0))
(when

View file

@ -226,12 +226,9 @@
)
((= v1-0 'attack)
(let ((v1-9 (-> arg3 param 2)))
(the-as none (cond
(cond
((!= v1-9 (-> self player-attack-id))
(set!
(-> self player-attack-id)
(the-as int v1-9)
)
(set! (-> self player-attack-id) (the-as int v1-9))
(if (-> self vulnerable)
(go yakow-kicked)
)
@ -246,7 +243,6 @@
)
)
)
)
yakow-default-event-handler
@ -701,10 +697,7 @@ yakow-default-event-handler
yakow-default-event-handler
:enter
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(set! (-> self travel-speed) 0.0)
(none)
)
@ -848,10 +841,7 @@ yakow-default-event-handler
yakow-default-event-handler
:enter
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(set! (-> self travel-speed) 0.0)
(none)
)
@ -869,10 +859,7 @@ yakow-default-event-handler
yakow-default-event-handler
:enter
(behavior ((arg0 vector))
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(logior! (-> self nav flags) (nav-control-flags bit10))
(set! (-> self nav destination-pos quad) (-> arg0 quad))
(set! (-> self rotate-speed) (-> *YAKOW-bank* walk-rotate-speed))
@ -958,10 +945,7 @@ yakow-default-event-handler
yakow-default-event-handler
:enter
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(set! (-> self travel-speed) 0.0)
(set! (-> self grazing) #t)
(let ((v1-3 (entity-actor-lookup (-> self entity) 'alt-actor 0))
@ -1175,10 +1159,7 @@ yakow-default-event-handler
yakow-default-event-handler
:enter
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(logior! (-> self nav flags) (nav-control-flags bit10))
(set! (-> self rotate-speed) (-> *YAKOW-bank* run-rotate-speed))
(set! (-> self turn-time) (-> *YAKOW-bank* run-turn-time))
@ -1251,10 +1232,7 @@ yakow-default-event-handler
)
:enter
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(if (-> self grazing)
(go yakow-graze-kicked)
)

View file

@ -8,48 +8,26 @@
(let ((v1-0 arg2))
(the-as object (cond
((= v1-0 'point-of-interest)
(the-as none (cond
(cond
((-> arg3 param 0)
(set! (-> (the-as camera-slave self) unknown-symbol) #t)
(set!
(->
(the-as camera-slave self)
unknown-symbol
)
#t
)
(set!
(->
(the-as camera-slave self)
view-off
quad
)
(-> (the-as camera-slave self) view-off quad)
(-> (the-as vector (-> arg3 param 0)) quad)
)
(let ((f0-0 1.0))
(set!
(->
(the-as camera-slave self)
min-z-override
)
(-> (the-as camera-slave self) min-z-override)
f0-0
)
f0-0
)
)
(else
(set!
(->
(the-as camera-slave self)
unknown-symbol
)
#f
)
(set! (-> (the-as camera-slave self) unknown-symbol) #f)
(let ((f0-1 0.0))
(set!
(->
(the-as camera-slave self)
min-z-override
)
(-> (the-as camera-slave self) min-z-override)
f0-1
)
f0-1
@ -57,7 +35,6 @@
)
)
)
)
((= v1-0 'set-interpolation)
(set! (-> (the-as camera-combiner self) interp-val) 0.0)
(let ((f0-4 (/ 5.0 (the float (-> arg3 param 0)))))

View file

@ -1314,42 +1314,26 @@
)
)
((= v1-0 'point-of-interest)
(the-as none (cond
(cond
((-> arg3 param 0)
(set!
(-> self tracking use-point-of-interest)
#t
)
(set! (-> self tracking use-point-of-interest) #t)
(set!
(-> self tracking point-of-interest quad)
(-> (the-as vector (-> arg3 param 0)) quad)
)
(let ((f0-0 1.0))
(set!
(->
self
tracking
point-of-interest-blend
target
)
(-> self tracking point-of-interest-blend target)
f0-0
)
f0-0
)
)
(else
(set!
(-> self tracking use-point-of-interest)
#f
)
(set! (-> self tracking use-point-of-interest) #f)
(let ((f0-1 0.0))
(set!
(->
self
tracking
point-of-interest-blend
target
)
(-> self tracking point-of-interest-blend target)
f0-1
)
f0-1
@ -1357,7 +1341,6 @@
)
)
)
)
((= v1-0 'teleport)
(cam-calc-follow! (-> self tracking) (-> self trans) #f)
(slave-set-rotation!

View file

@ -2641,34 +2641,27 @@
(else
(when
(zero? (logand (-> (the-as anim-test-seq-item gp-0) flags) 4))
(let ((v1-334 (-> *anim-tester* 0 item-field)))
(the-as int (cond
((= v1-334 5)
(case (-> *anim-tester* 0 item-field)
((5)
(anim-test-seq-mark-as-edited
(the-as anim-test-sequence s4-0)
)
(let
((v1-331
(logxor
(-> (the-as anim-test-seq-item gp-0) flags)
2
(logxor (-> (the-as anim-test-seq-item gp-0) flags) 2)
)
)
)
(set!
(-> (the-as anim-test-seq-item gp-0) flags)
v1-331
)
(set! (-> (the-as anim-test-seq-item gp-0) flags) v1-331)
v1-331
)
)
((= v1-334 6)
((6)
(the-as int #f)
)
((= v1-334 7)
((7)
(the-as int #f)
)
((= v1-334 8)
((8)
(the-as int #f)
)
(else
@ -2692,8 +2685,6 @@
)
)
)
)
)
((= arg0 2)
(set! (-> arg1 return-int) (-> *ANIM_TESTER-bank* EDIT_LIST_MIN_WIDTH))
)
@ -2735,21 +2726,13 @@
)
)
)
(the-as none (cond
(cond
(s2-0
(display-list-control (-> *anim-tester* 0 pick-con))
)
(else
(let*
((s4-2
(->
*display*
frames
(-> *display* on-screen)
frame
debug-buf
)
)
((s4-2 (-> *display* frames (-> *display* on-screen) frame debug-buf))
(gp-3 (-> s4-2 base))
)
(draw-string-xy
@ -2772,24 +2755,12 @@
(-> (the-as dma-packet v1-367) dma)
(new 'static 'dma-tag :id (dma-tag-id next))
)
(set!
(-> (the-as dma-packet v1-367) vif0)
(new 'static 'vif-tag)
)
(set!
(-> (the-as dma-packet v1-367) vif1)
(new 'static 'vif-tag)
)
(set! (-> (the-as dma-packet v1-367) vif0) (new 'static 'vif-tag))
(set! (-> (the-as dma-packet v1-367) vif1) (new 'static 'vif-tag))
(set! (-> s4-2 base) (&+ (the-as pointer v1-367) 16))
)
(dma-bucket-insert-tag
(->
*display*
frames
(-> *display* on-screen)
frame
bucket-group
)
(-> *display* frames (-> *display* on-screen) frame bucket-group)
(bucket-id debug-draw0)
gp-3
(the-as (pointer dma-tag) a3-21)
@ -2801,7 +2772,6 @@
)
)
)
)
#f
)
)
@ -3950,6 +3920,3 @@
)
)

View file

@ -743,11 +743,8 @@
)
;; definition (debug) for function get-debug-line
(defun-debug get-debug-line ()
(the-as debug-line (cond
((<
(-> *debug-lines-trk* length)
(-> *debug-lines-trk* allocated-length)
)
(cond
((< (-> *debug-lines-trk* length) (-> *debug-lines-trk* allocated-length))
(+! (-> *debug-lines-trk* length) 1)
(-> *debug-lines* (+ (-> *debug-lines-trk* length) -1))
)
@ -756,27 +753,22 @@
)
)
)
)
;; definition (debug) for function get-debug-text-3d
(defun-debug get-debug-text-3d ()
(the-as debug-text-3d (cond
(cond
((<
(-> *debug-text-3d-trk* length)
(-> *debug-text-3d-trk* allocated-length)
)
(+! (-> *debug-text-3d-trk* length) 1)
(->
*debug-text-3ds*
(+ (-> *debug-text-3d-trk* length) -1)
)
(-> *debug-text-3ds* (+ (-> *debug-text-3d-trk* length) -1))
)
(else
(the-as debug-text-3d #f)
)
)
)
)
;; definition (debug) for function debug-reset-buffers
(defun-debug debug-reset-buffers ()

View file

@ -130,16 +130,12 @@
;; Used lq/sq
(defmethod TODO-RENAME-9 effect-control ((obj effect-control))
(let* ((a0-1 (-> obj process skel))
(v1-3
(the-as
joint-control-channel
(if (< (-> obj channel-offset) (-> a0-1 active-channels))
(v1-3 (if (< (-> obj channel-offset) (-> a0-1 active-channels))
(-> a0-1 root-channel (-> obj channel-offset))
(the-as joint-control-channel #f)
)
)
)
)
(cond
((and v1-3 (-> v1-3 frame-group))
(let* ((s5-0 (-> v1-3 frame-group))
@ -167,15 +163,12 @@
)
)
)
(set!
(-> obj name)
(the-as (pointer res-tag) (if (>= (the-as int v1-6) 0)
(set! (-> obj name) (if (>= (the-as int v1-6) 0)
(&-> (-> s5-0 extra tag) v1-6)
(the-as (pointer res-tag) #f)
)
)
)
)
(if (and (-> obj name) (= (-> obj name 0 key-frame) -1000000000.0))
(set! (-> obj name) (&-> (-> obj name) 1))
)
@ -342,13 +335,12 @@
)
)
)
(the-as int (if (zero? v0-0)
(if (zero? v0-0)
0
(the-as int (+ v0-0 1))
)
)
)
)
(else
(empty)
arg2

View file

@ -117,12 +117,9 @@
;; definition for method 9 of type task-control
(defmethod current-task task-control ((obj task-control))
(the-as int (cond
(cond
((= obj *null-task-control*)
(format
0
"ERROR<GMJ>: current-task received *null-task-control*~%"
)
(format 0 "ERROR<GMJ>: current-task received *null-task-control*~%")
0
)
((= (-> obj current-stage) -1)
@ -133,11 +130,10 @@
)
)
)
)
;; definition for method 10 of type task-control
(defmethod current-status task-control ((obj task-control))
(the-as int (cond
(cond
((= obj *null-task-control*)
(format
0
@ -153,7 +149,6 @@
)
)
)
)
;; definition for method 11 of type task-control
;; INFO: Return type mismatch int vs none.

View file

@ -14,13 +14,11 @@
;; INFO: Return type mismatch merc-fragment vs none.
(defmethod login-adgifs merc-fragment ((obj merc-fragment))
(let* ((fp-data (merc-fragment-fp-data obj))
(eye-ctrl
(the-as merc-eye-ctrl (if (nonzero? (-> *merc-ctrl-header* eye-ctrl))
(eye-ctrl (if (nonzero? (-> *merc-ctrl-header* eye-ctrl))
(-> *merc-ctrl-header* eye-ctrl)
(the-as merc-eye-ctrl #f)
)
)
)
(shader (the-as adgif-shader (&+ fp-data 16)))
)
(dotimes (s2-0 (the-as int (-> fp-data shader-cnt)))

View file

@ -2231,17 +2231,14 @@
((obj texture-page) (dma-buff dma-buffer) (mode int))
(local-vars (total-size int))
(let ((v1-0 mode))
(set! total-size (the-as int (cond
(set! total-size (cond
((= v1-0 -3)
0
)
((= v1-0 -2)
(the-as
int
(+
(-> obj segment 0 size)
(-> obj segment 1 size)
)
(+ (-> obj segment 0 size) (-> obj segment 1 size))
)
)
((= v1-0 -1)
@ -2253,7 +2250,6 @@
)
)
)
)
(let* ((start-segment (max 0 mode))
(chunk-count (* (/ (+ (/ total-size 64) 63) 64) 32))
(current-dest (shr (-> obj segment start-segment dest) 6))

View file

@ -144,13 +144,12 @@
(&+ *kernel-sp* -1024)
)
(let ((s5-0 (loado arg0 arg1)))
(the-as art (if (type-type? (-> (the-as art s5-0) type) art)
(if (type-type? (-> (the-as art s5-0) type) art)
(login (the-as art s5-0))
(the-as art #f)
)
)
)
)
;; definition for function art-group-load-check
(defun art-group-load-check ((arg0 string) (arg1 kheap) (arg2 int))
@ -168,29 +167,17 @@
)
)
)
(the-as art-group (cond
(cond
((not s3-1)
(format
0
"ERROR: art-group ~A is not a valid file.~%"
arg0
)
(format 0 "ERROR: art-group ~A is not a valid file.~%" arg0)
(the-as art-group #f)
)
((not (type-type? (-> s3-1 type) art-group))
(format
0
"ERROR: art-group ~A is not a art-group.~%"
arg0
)
(format 0 "ERROR: art-group ~A is not a art-group.~%" arg0)
(the-as art-group #f)
)
((not
(file-info-correct-version?
(-> s3-1 info)
(file-kind art-group)
arg2
)
(file-info-correct-version? (-> s3-1 info) (file-kind art-group) arg2)
)
(the-as art-group #f)
)
@ -201,7 +188,6 @@
)
)
)
)
;; definition for method 9 of type external-art-buffer
(defmethod

View file

@ -523,7 +523,7 @@
)
)
)
(the-as process (cond
(cond
(s4-0
(set! (-> (the-as (pointer process) s4-0) 0 type) arg0)
(-> (the-as (pointer process) s4-0) 0)
@ -541,7 +541,6 @@
)
)
)
)
;; definition for method 15 of type dead-pool
;; INFO: Return type mismatch process-tree vs none.

View file

@ -162,21 +162,14 @@
(go (method-of-object obj nav-enemy-die))
)
((= v1-1 'punch)
(the-as none (cond
(cond
((logtest? (-> obj nav-enemy-flags) 32)
(logclear!
(-> obj mask)
(process-mask actor-pause)
)
(logclear! (-> obj mask) (process-mask actor-pause))
(go (method-of-object obj nav-enemy-die))
)
((begin
(let ((s4-0 (new 'stack-no-clear 'vector)))
(let
((f30-0
(quaternion-xz-angle (target-rot))
)
)
(let ((f30-0 (quaternion-xz-angle (target-rot))))
(set-vector!
s4-0
(* 24576.0 (sin f30-0))
@ -185,15 +178,8 @@
1.0
)
)
(vector+!
s4-0
(-> obj collide-info trans)
s4-0
)
(set!
(-> obj nav target-pos quad)
(-> s4-0 quad)
)
(vector+! s4-0 (-> obj collide-info trans) s4-0)
(set! (-> obj nav target-pos quad) (-> s4-0 quad))
)
(go lurkercrab-pushed)
(= s5-0 (-> obj incomming-attack-id))
@ -205,14 +191,8 @@
)
)
)
)
(else
(the-as none (cond
((logtest? (-> obj nav-enemy-flags) 32)
(logclear!
(-> obj mask)
(process-mask actor-pause)
)
(logclear! (-> obj mask) (process-mask actor-pause))
(go (method-of-object obj nav-enemy-die))
)
((begin
@ -223,15 +203,8 @@
(target-pos 0)
)
(vector-normalize! s4-1 24576.0)
(vector+!
s4-1
(-> obj collide-info trans)
s4-1
)
(set!
(-> obj nav target-pos quad)
(-> s4-1 quad)
)
(vector+! s4-1 (-> obj collide-info trans) s4-1)
(set! (-> obj nav target-pos quad) (-> s4-1 quad))
)
(go lurkercrab-pushed)
(= s5-0 (-> obj incomming-attack-id))
@ -246,9 +219,6 @@
)
)
)
)
)
)
;; failed to figure out what this is:
nav-enemy-default-event-handler

View file

@ -161,9 +161,8 @@
(-> self final-pickup-spawn-point quad)
(-> v1-4 root trans quad)
)
(let ((a0-2 (-> self final-pickup-type)))
(the-as none (cond
((= a0-2 (pickup-type fuel-cell))
(case (-> self final-pickup-type)
(((pickup-type fuel-cell))
#f
)
(else
@ -173,14 +172,9 @@
)
(set! (-> v1-4 fact pickup-amount) 1.0)
(let ((f0-1 0.0))
(set!
(-> v1-4 fact pickup-spawn-amount)
(set! (-> v1-4 fact pickup-spawn-amount) f0-1)
f0-1
)
f0-1
)
)
)
)
)
)

View file

@ -778,20 +778,14 @@
(let ((v1-16 (-> arg3 param 2)))
(when (!= v1-16 (-> self player-attack-id))
(set! (-> self player-attack-id) (the-as int v1-16))
(the-as vector (cond
(cond
((= (-> arg3 param 1) 'flop)
(when
(>=
(-
(-> *display* base-frame-counter)
(-> self player-bonk-timeout)
)
(- (-> *display* base-frame-counter) (-> self player-bonk-timeout))
(the-as int (-> self info player-force-timeout))
)
(set!
(-> self player-bonk-timeout)
(-> *display* base-frame-counter)
)
(set! (-> self player-bonk-timeout) (-> *display* base-frame-counter))
(let* ((gp-1 arg0)
(v1-24
(if
@ -804,10 +798,7 @@
)
)
(when v1-24
(set!
(-> self player-impulse)
(the-as collide-shape-prim-mesh #t)
)
(set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t))
(set!
(-> self player-force-position quad)
(-> (the-as process-drawable v1-24) root trans quad)
@ -824,11 +815,7 @@
)
)
)
(vector-float*!
(-> self player-force)
*y-vector*
(- f0-9)
)
(vector-float*! (-> self player-force) *y-vector* (- f0-9))
)
)
)
@ -847,10 +834,7 @@
)
)
(when v1-34
(set!
(-> self player-impulse)
(the-as collide-shape-prim-mesh #t)
)
(set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t))
(set!
(-> self player-force-position quad)
(-> (the-as process-drawable v1-34) root trans quad)
@ -874,7 +858,6 @@
)
)
)
)
(('impulse)
(let ((s5-1 arg0))
(when

View file

@ -278,12 +278,9 @@
)
((= v1-0 'attack)
(let ((v1-9 (-> arg3 param 2)))
(the-as none (cond
(cond
((!= v1-9 (-> self player-attack-id))
(set!
(-> self player-attack-id)
(the-as int v1-9)
)
(set! (-> self player-attack-id) (the-as int v1-9))
(if (-> self vulnerable)
(go yakow-kicked)
)
@ -298,7 +295,6 @@
)
)
)
)
;; failed to figure out what this is:
yakow-default-event-handler

View file

@ -1064,7 +1064,7 @@ TEST_F(FormRegressionTest, ExprMethod14DeadPool) {
" )\n"
" )\n"
" )\n"
" (the-as process (cond\n"
" (cond\n"
" (s4-0\n"
" (set! (-> (the-as (pointer process) s4-0) 0 type) arg1)\n"
" (-> (the-as (pointer process) s4-0) 0)\n"
@ -1080,7 +1080,6 @@ TEST_F(FormRegressionTest, ExprMethod14DeadPool) {
" (the-as process #f)\n"
" )\n"
" )\n"
" )\n"
" )";
// note - there's likely an actual bug here.