diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 06332c3dd3..413dc53019 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -9637,10 +9637,24 @@ ) ) +(defenum janim-status + :type uint16 + :bitfield #t + (inited 0) + (drawn 1) + (done 2) + (blerc 3) + (skelf04 4) + (spool 5) + (blerc-done 6) + (eye-done 7) + (eye 8) + ) + (declare-type process-drawable basic) (declare-type effect-control basic) (deftype joint-control (basic) - ((status uint16 :offset-assert 4) + ((status janim-status :offset-assert 4) (allocated-length int16 :offset-assert 6) (root-channel (inline-array joint-control-channel) :offset 16) (blend-index int32 :offset-assert 20) diff --git a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc index b45d8e99fc..3b82b6bbf5 100644 --- a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc @@ -4584,8 +4584,6 @@ [214, "s5", "handle"] ], - "(event idle logo-slave)": [[14, "v1", "uint"]], - "(method 11 training-cam)": [[21, "s5", "entity-actor"]], "(method 23 tra-pontoon)": [ @@ -5678,7 +5676,7 @@ [10, "v1", "float"], [297, "v1", "float"], [308, "a0", "vector"], - [562, "v1", "(state target)"] + [562, "v1", "(state object object object object target)"] ], "target-standard-event-handler": [ diff --git a/goal_src/engine/anim/joint-h.gc b/goal_src/engine/anim/joint-h.gc index 2523395170..20e5035b10 100644 --- a/goal_src/engine/anim/joint-h.gc +++ b/goal_src/engine/anim/joint-h.gc @@ -40,9 +40,23 @@ ) ) +(defenum janim-status + :type uint16 + :bitfield #t + (inited 0) + (drawn 1) + (done 2) + (blerc 3) + (skelf04 4) + (spool 5) + (blerc-done 6) + (eye-done 7) + (eye 8) + ) + ;; A collection of joint-control-channels. (deftype joint-control (basic) - ((status uint16 :offset-assert 4) + ((status janim-status :offset-assert 4) (allocated-length int16 :offset-assert 6) (root-channel (inline-array joint-control-channel) :offset 16) (blend-index int32 :offset-assert 20) diff --git a/goal_src/engine/camera/pov-camera.gc b/goal_src/engine/camera/pov-camera.gc index 104bbd18a5..21b79fc919 100644 --- a/goal_src/engine/camera/pov-camera.gc +++ b/goal_src/engine/camera/pov-camera.gc @@ -7,8 +7,6 @@ ;; DECOMP BEGINS - -;; definition for method 25 of type pov-camera (defmethod check-for-abort pov-camera ((obj pov-camera)) (when (or (and (>= (- (-> *display* base-frame-counter) (-> obj debounce-start-time)) (seconds 0.2)) (cpad-pressed? 0 triangle) @@ -24,17 +22,14 @@ ) ) -;; definition for method 26 of type pov-camera (defmethod target-grabbed? pov-camera ((obj pov-camera)) (or (not *target*) (process-grab? *target*)) ) -;; definition for method 28 of type pov-camera (defmethod target-released? pov-camera () (or (not *target*) (process-release? *target*)) ) -;; failed to figure out what this is: (defstate pov-camera-startup (pov-camera) :virtual #t :code @@ -44,7 +39,6 @@ ) ) -;; failed to figure out what this is: (defstate pov-camera-start-playing (pov-camera) :virtual #t :code @@ -77,8 +71,6 @@ ) ) -;; definition for function pov-camera-play-and-reposition -;; INFO: Return type mismatch int vs none. (defbehavior pov-camera-play-and-reposition pov-camera ((arg0 art-joint-anim) (arg1 vector) (arg2 float)) (let ((s4-0 #f)) (let ((v1-2 (-> self skel root-channel 0))) @@ -121,7 +113,6 @@ (none) ) -;; failed to figure out what this is: (defstate pov-camera-playing (pov-camera) :virtual #t :event @@ -218,7 +209,6 @@ ) ) -;; failed to figure out what this is: (defstate pov-camera-abort (pov-camera) :virtual #t :enter @@ -236,7 +226,6 @@ ) ) -;; failed to figure out what this is: (defstate pov-camera-done-playing (pov-camera) :virtual #t :code @@ -253,22 +242,15 @@ ) ) -;; definition for method 27 of type pov-camera -;; INFO: Return type mismatch int vs none. (defmethod pre-startup-callback pov-camera ((obj pov-camera)) 0 (none) ) -;; definition for method 29 of type pov-camera -;; INFO: Return type mismatch symbol vs none. (defmethod set-stack-size! pov-camera ((obj pov-camera)) (none) ) -;; definition for function pov-camera-init-by-other -;; INFO: Return type mismatch object vs none. -;; Used lq/sq (defbehavior pov-camera-init-by-other pov-camera ((arg0 vector) (arg1 skeleton-group) (arg2 string) (arg3 pov-camera-flag) (arg4 process-drawable) (arg5 pair)) (set-stack-size! self) (set! (-> *game-info* pov-camera-handle) (process->handle self)) @@ -295,11 +277,11 @@ ) (initialize-skeleton self arg1 '()) (logior! (-> self draw status) (draw-status skip-bones)) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (set! (-> self anim-name) arg2) (cond ((= (-> arg2 type) string) - (logior! (-> self skel status) 32) + (logior! (-> self skel status) (janim-status spool)) (let ((s5-1 (lookup-art (-> self draw art-group) arg2 art-joint-anim))) (if (not s5-1) (go process-drawable-art-error arg2) diff --git a/goal_src/engine/draw/process-drawable.gc b/goal_src/engine/draw/process-drawable.gc index fe8a1bb590..f6bd342fc0 100644 --- a/goal_src/engine/draw/process-drawable.gc +++ b/goal_src/engine/draw/process-drawable.gc @@ -173,13 +173,13 @@ ) 0 (let ((v1-14 (dummy-9 (-> gp-0 data 1) #f))) - (set! (-> v1-14 joint) (the-as joint (-> arg0 data 0))) + (set! (-> v1-14 joint) (-> arg0 data 0)) (set! (-> v1-14 bone) (-> s4-1 bones 1)) (set! (-> v1-14 parent) (the-as cspace (-> gp-0 data))) (set! (-> v1-14 bone cache bone-matrix) (the-as uint 128)) ) (let ((v1-17 (dummy-9 (-> gp-0 data 2) #f))) - (set! (-> v1-17 joint) (the-as joint (-> arg0 data 1))) + (set! (-> v1-17 joint) (-> arg0 data 1)) (set! (-> v1-17 bone) (-> s4-1 bones 2)) (set! (-> v1-17 parent) (the-as cspace (-> gp-0 data))) (let ((a1-9 v1-17)) @@ -190,7 +190,7 @@ ) (let ((s3-0 3)) (while (< s3-0 (-> gp-0 length)) - (let* ((s1-0 (the-as joint (-> arg0 data (+ s3-0 -1)))) + (let* ((s1-0 (-> arg0 data (+ s3-0 -1))) (s2-0 (if (-> s1-0 parent) (+ (-> s1-0 parent number) 1) 0 @@ -211,9 +211,9 @@ ) (add-connection (-> (if (-> self entity) - (-> self entity extra level) - (-> *level* level-default) - ) + (-> self entity extra level) + (-> *level* level-default) + ) foreground-draw-engine (-> self draw sink-group merc-sink foreground-texture-page) ) @@ -504,9 +504,9 @@ (set! (-> v1-26 color-mult quad) (-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad)) (set! (-> v1-26 color-emissive quad) (-> (new 'static 'vector) quad)) (set! (-> v1-26 level-index) (the-as uint (-> (if (-> obj entity) - (-> obj entity extra level) - (-> *level* level-default) - ) + (-> obj entity extra level) + (-> *level* level-default) + ) index ) ) @@ -585,15 +585,15 @@ ) (else (set! (-> s3-0 skeleton bones 0 transform vector 3 quad) (-> (the-as vector (get-property-struct - (-> sv-16 extra) - 'trans-offset - 'interp - -1000000000.0 - *null-vector* - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) + (-> sv-16 extra) + 'trans-offset + 'interp + -1000000000.0 + *null-vector* + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) quad ) ) @@ -716,10 +716,10 @@ (defbehavior ja-aframe process-drawable ((arg0 float) (arg1 int)) (let ((v1-3 (-> self skel root-channel arg1 frame-group))) (/ (- arg0 (if (and v1-3 (nonzero? v1-3)) - (-> v1-3 artist-base) - 0.0 - ) - ) + (-> v1-3 artist-base) + 0.0 + ) + ) (if v1-3 (-> v1-3 artist-step) 1.0 @@ -760,21 +760,20 @@ (defbehavior ja-channel-push! process-drawable ((arg0 int) (arg1 int)) (cond - ((or - (zero? (-> self skel active-channels)) - (zero? arg1) - (when (>= (+ (-> self skel active-channels) arg0) (-> self skel allocated-length)) - (format - 0 - "WARNING: ~A could not do (ja-channel-push ~D) because it has ~D/~D channels.~%" - self - arg0 - (-> self skel active-channels) - (-> self skel allocated-length) + ((or (zero? (-> self skel active-channels)) + (zero? arg1) + (when (>= (+ (-> self skel active-channels) arg0) (-> self skel allocated-length)) + (format + 0 + "WARNING: ~A could not do (ja-channel-push ~D) because it has ~D/~D channels.~%" + self + arg0 + (-> self skel active-channels) + (-> self skel allocated-length) + ) + #t ) - #t ) - ) (ja-channel-set! arg0) ) (else @@ -862,8 +861,8 @@ (defbehavior ja-group-size process-drawable () (if (< (the-as int (-> self skel root-channel)) - (the-as int (-> self skel channel (-> self skel active-channels))) - ) + (the-as int (-> self skel channel (-> self skel active-channels))) + ) (-> self skel root-channel 0 group-size) 0 ) @@ -913,7 +912,8 @@ 0 ) -;; ERROR: function was not converted to expressions. Cannot decompile. +;; WARN: Unsupported inline assembly instruction kind - [lw ra, return-from-thread(s7)] +;; WARN: Unsupported inline assembly instruction kind - [jr ra] (defmethod evaluate-joint-control process-drawable ((obj process-drawable)) (local-vars (s7-0 none) (ra-0 int)) (let ((gp-0 (-> obj skel))) @@ -962,10 +962,10 @@ (logior! (-> obj draw status) (draw-status no-anim)) ) ) - (if (logtest? (-> obj skel status) 72) + (if (logtest? (-> obj skel status) (janim-status blerc blerc-done)) (merc-blend-shape obj) ) - (if (logtest? (-> obj skel status) 384) + (if (logtest? (-> obj skel status) (janim-status eye-done eye)) (merc-eye-anim obj) ) (label cfg-27) @@ -985,10 +985,7 @@ (logclear! (-> self draw status) (draw-status no-anim no-skeleton-update)) (when (nonzero? (-> self skel)) (evaluate-joint-control self) - - - - (when (or (logtest? (-> self skel status) 1) gp-1) + (when (or (logtest? (-> self skel status) (janim-status inited)) gp-1) (do-joint-math! self) (if (and gp-1 (type-type? (-> self root type) collide-shape)) (update-transforms! (the-as collide-shape (-> self root))) @@ -1081,11 +1078,10 @@ ) (defbehavior process-drawable-delay-player process-drawable ((arg0 time-frame)) - (while (and - *target* - (logtest? (-> *target* control unknown-surface00 flags) 2048) - (zero? (logand (-> *target* control status) 1)) - ) + (while (and *target* + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) + ) (suspend) ) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1196,10 +1192,9 @@ (set! s5-0 (cond ((valid? (-> s2-0 frame-group) art-joint-anim "joint-control frame-group" #t *valid-con*) (when (not - (and - (>= (the int (-> s2-0 frame-num)) 0) - (< (the int (-> s2-0 frame-num)) (-> s2-0 frame-group data 0 length)) - ) + (and (>= (the int (-> s2-0 frame-num)) 0) + (< (the int (-> s2-0 frame-num)) (-> s2-0 frame-group data 0 length)) + ) ) (format *valid-con* diff --git a/goal_src/engine/game/collectables.gc b/goal_src/engine/game/collectables.gc index 1c5e6f02d7..5bc8d27183 100644 --- a/goal_src/engine/game/collectables.gc +++ b/goal_src/engine/game/collectables.gc @@ -1119,6 +1119,7 @@ (defmethod initialize eco-pill ((obj eco-pill)) (set! *eco-pill-count* (+ *eco-pill-count* 1)) + (stack-size-set! (-> obj main-thread) 192) ;; hack increased from 192 (logior! (-> obj mask) (process-mask actor-pause)) (set! (-> obj actor-pause) #t) (set! (-> obj notify-parent) #f) @@ -1652,7 +1653,9 @@ ) ) ) - (when (and (logtest? (-> self skel status) 32) (and (>= (ja-aframe-num 0) f30-0) (-> self state-object))) + (when (and (logtest? (-> self skel status) (janim-status spool)) + (and (>= (ja-aframe-num 0) f30-0) (-> self state-object)) + ) (set! (-> self state-object) #f) (kill-and-free-particles (-> self part)) (logior! (-> self draw status) (draw-status skip-bones)) @@ -1745,7 +1748,7 @@ (spool-push *art-control* (-> self victory-anim name) 0 self (the-as float -99.0)) (send-event *target* 'get-pickup (-> self fact pickup-type) (-> self fact pickup-amount)) (set! (-> self draw bounds w) 32768.0) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (send-event *target* 'blend-shape #t) (push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) (push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) @@ -2211,7 +2214,7 @@ (if (-> self actor-pause) (logior! (-> self mask) (process-mask actor-pause)) ) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) (none) ) :code diff --git a/goal_src/engine/game/generic-obs.gc b/goal_src/engine/game/generic-obs.gc index 012a9a54d5..5d5edb2d40 100644 --- a/goal_src/engine/game/generic-obs.gc +++ b/goal_src/engine/game/generic-obs.gc @@ -18,7 +18,7 @@ ;; DECOMP BEGINS (defbehavior clone-anim-once process-drawable ((arg0 handle) (arg1 int) (arg2 symbol) (arg3 string)) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) (let ((s5-0 (handle->process arg0))) (if (the-as process-drawable s5-0) (joint-control-copy! (-> self skel) (-> (the-as process-drawable s5-0) skel)) @@ -47,8 +47,8 @@ ) (quaternion-copy! (-> self root quat) (-> (the-as process-drawable s5-0) root quat)) ) - (if (logtest? (-> (the-as process-drawable s5-0) skel status) 32) - (logior! (-> self skel status) 32) + (if (logtest? (-> (the-as process-drawable s5-0) skel status) (janim-status spool)) + (logior! (-> self skel status) (janim-status spool)) ) (logclear! (-> self draw status) (draw-status hidden no-anim)) (if (not (-> self skel root-channel 0 frame-group)) @@ -70,11 +70,11 @@ (TODO-RENAME-9 a0-22) ) ) - (if (logtest? (-> self skel status) 72) + (if (logtest? (-> self skel status) (janim-status blerc blerc-done)) (merc-blend-shape self) ) - (if (logtest? (-> self skel status) 384) - (merc-eye-anim (the-as manipy self)) + (if (logtest? (-> self skel status) (janim-status eye-done eye)) + (merc-eye-anim self) ) ) (else @@ -96,7 +96,7 @@ (clone-anim-once arg0 arg1 #t arg3) (suspend) ) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) 0 (none) ) @@ -213,12 +213,12 @@ ((= v1-0 'blend-shape) (cond ((-> arg3 param 0) - (set! v0-0 (the-as none (logior (-> self skel status) 264))) - (set! (-> self skel status) (the-as uint v0-0)) + (set! v0-0 (the-as none (logior (-> self skel status) (janim-status blerc eye)))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) (else - (set! v0-0 (the-as none (logand -265 (-> self skel status)))) - (set! (-> self skel status) (the-as uint v0-0)) + (set! v0-0 (the-as none (logclear (-> self skel status) (janim-status blerc eye)))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) ) v0-0 @@ -341,7 +341,7 @@ (cond ((nonzero? (-> self skel)) (let ((gp-1 (-> self skel status))) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (set! v0-0 (ja-post)) (set! (-> self skel status) gp-1) ) @@ -886,25 +886,27 @@ (defun ja-anim-done? ((arg0 process)) (with-pp (let ((gp-0 (command-get-process arg0 *target*))) - (the-as symbol (when gp-0 - (cond - ((type-type? (-> gp-0 type) manipy) - (send-event gp-0 'query 'done) - ) - ((type-type? (-> gp-0 type) process-drawable) - (when (zero? (logand (-> (the-as process-drawable gp-0) skel status) 4)) - (let ((s5-0 pp)) - (set! pp gp-0) - (let ((v0-1 (the-as object (ja-done? 0)))) - (set! pp s5-0) - v0-1 - ) - ) - ) - ) - ) - ) - ) + (the-as + symbol + (when gp-0 + (cond + ((type-type? (-> gp-0 type) manipy) + (send-event gp-0 'query 'done) + ) + ((type-type? (-> gp-0 type) process-drawable) + (when (zero? (logand (-> (the-as process-drawable gp-0) skel status) (janim-status done))) + (let ((s5-0 pp)) + (set! pp gp-0) + (let ((v0-1 (the-as object (ja-done? 0)))) + (set! pp s5-0) + v0-1 + ) + ) + ) + ) + ) + ) + ) ) ) ) @@ -1065,8 +1067,8 @@ (set! gp-0 (command-get-process (car s4-0) *target*)) (when (the-as target gp-0) (if (car (cdr s4-0)) - (set! (-> (the-as target gp-0) skel status) (logand -3 (-> (the-as target gp-0) skel status))) - (logior! (-> (the-as target gp-0) skel status) 2) + (logclear! (-> (the-as target gp-0) skel status) (janim-status drawn)) + (logior! (-> (the-as target gp-0) skel status) (janim-status drawn)) ) ) ) diff --git a/goal_src/engine/game/task/process-taskable.gc b/goal_src/engine/game/task/process-taskable.gc index 1ca15fdaa9..52e8df301a 100644 --- a/goal_src/engine/game/task/process-taskable.gc +++ b/goal_src/engine/game/task/process-taskable.gc @@ -388,7 +388,7 @@ (defbehavior process-taskable-play-anim-enter process-taskable () (init! (-> self query) (the-as string #f) 40 150 25 #t (the-as string #f)) - (logior! (-> self skel status) 8) + (logior! (-> self skel status) (janim-status blerc)) (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) (set! (-> self camera) (ppointer->handle (when gp-0 @@ -409,7 +409,7 @@ ) (defbehavior process-taskable-play-anim-exit process-taskable () - (set! (-> self skel status) (logand -9 (-> self skel status))) + (logclear! (-> self skel status) (janim-status blerc)) (let ((a0-4 (handle->process (-> self camera)))) (if a0-4 (deactivate a0-4) @@ -734,7 +734,7 @@ (defbehavior process-taskable-clean-up-after-talking process-taskable () (logclear! (-> self draw status) (draw-status hidden)) - (set! (-> self skel status) (logand -2 (-> self skel status))) + (logclear! (-> self skel status) (janim-status inited)) (clear-pending-settings-from-process *setting-control* self 'border-mode) (clear-pending-settings-from-process *setting-control* self 'talking) (none) @@ -914,14 +914,14 @@ ) :enter (behavior ((arg0 handle)) - (logior! (-> self skel status) 8) + (logior! (-> self skel status) (janim-status blerc)) (logclear! (-> self mask) (process-mask actor-pause)) (set-vector! (-> self draw bounds) 0.0 (-> self draw-bounds-y-offset) 0.0 (-> self draw bounds w)) (none) ) :exit (behavior () - (set! (-> self skel status) (logand -41 (-> self skel status))) + (logclear! (-> self skel status) (janim-status blerc spool)) (logior! (-> self mask) (process-mask actor-pause)) (let ((v1-6 (-> self entity extra trans))) (if v1-6 @@ -1026,7 +1026,7 @@ ) (else (kill-current-level-hint '() '() 'exit) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) (set-setting! *setting-control* self 'border-mode #f 0.0 0) @@ -1170,7 +1170,7 @@ (process-drawable-from-entity! obj (the-as entity-actor arg0)) (initialize-skeleton obj arg1 '()) (set! (-> obj shadow-backup) (-> obj draw shadow)) - (logior! (-> obj skel status) 256) + (logior! (-> obj skel status) (janim-status eye)) (set! (-> obj root-override pause-adjust-distance) -122880.0) (set! (-> obj fuel-cell-anim) (fuel-cell-pick-anim obj)) (set! (-> obj draw origin-joint-index) (the-as uint arg2)) @@ -1355,7 +1355,10 @@ (s3-0 (-> (the-as process-taskable s2-0) node-list data (-> self cam-joint-index) bone scale)) (gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) - (s1-0 (or (!= (-> self spooling?) #t) (logtest? (-> (the-as process-taskable s2-0) skel status) 32))) + (s1-0 (or (!= (-> self spooling?) #t) + (logtest? (-> (the-as process-taskable s2-0) skel status) (janim-status spool)) + ) + ) ) (vector<-cspace! s5-0 (-> (the-as process-taskable s2-0) node-list data (-> self cam-joint-index))) (vector-normalize-copy! gp-0 (-> s4-0 vector 2) -1.0) diff --git a/goal_src/engine/gfx/eye.gc b/goal_src/engine/gfx/eye.gc index 683d42262d..8548e0e88f 100644 --- a/goal_src/engine/gfx/eye.gc +++ b/goal_src/engine/gfx/eye.gc @@ -853,7 +853,7 @@ ) ;; see if we need the eye (when (and v1-40 - (logtest? (-> (the-as process-drawable v1-40) skel status) 256) + (logtest? (-> (the-as process-drawable v1-40) skel status) (janim-status eye)) (logtest? (-> (the-as process-drawable v1-40) draw status) (draw-status was-drawn)) ) (when (-> s5-3 shaders) @@ -1167,7 +1167,7 @@ (a0-1 (-> arg0 skel root-channel 0)) (s4-0 (-> a0-1 frame-group)) ) - (when (and (logtest? (-> arg0 skel status) 256) + (when (and (logtest? (-> arg0 skel status) (janim-status eye)) (nonzero? s5-0) (> (-> arg0 skel active-channels) 0) s4-0 @@ -1242,11 +1242,11 @@ ) ) ) - (logior! (-> arg0 skel status) 128) + (logior! (-> arg0 skel status) (janim-status eye-done)) ) ) - (if (logtest? (-> arg0 skel status) 128) - (set! (-> arg0 skel status) (logand -129 (-> arg0 skel status))) + (if (logtest? (-> arg0 skel status) (janim-status eye-done)) + (logclear! (-> arg0 skel status) (janim-status eye-done)) ) 0 (none) diff --git a/goal_src/engine/gfx/merc/merc-blend-shape.gc b/goal_src/engine/gfx/merc/merc-blend-shape.gc index 208eabe063..9701b012a9 100644 --- a/goal_src/engine/gfx/merc/merc-blend-shape.gc +++ b/goal_src/engine/gfx/merc/merc-blend-shape.gc @@ -9,6 +9,8 @@ ;; This is missing most functions right now, but just has the types that we need for ;; looking into merc. +;; DECOMP BEGINS + (define *stats-blerc* #f) (deftype blerc-block-header (structure) @@ -23,6 +25,7 @@ :flag-assert #x900000020 ) + (deftype blerc-block (structure) ((output uint8 848 :offset-assert 0) (header blerc-block-header :inline :offset-assert 848) @@ -32,6 +35,7 @@ :flag-assert #x900000370 ) + (deftype blerc-dcache (structure) ((repl-mult vector 40 :inline :offset-assert 0) ) @@ -40,6 +44,7 @@ :flag-assert #x900000280 ) + (deftype blerc-globals (structure) ((first uint32 :offset-assert 0) (next uint32 :offset-assert 4) @@ -54,6 +59,7 @@ :flag-assert #x900000018 ) + (define *blerc-globals* (new 'global 'blerc-globals)) (deftype blerc-context (structure) @@ -66,35 +72,38 @@ :flag-assert #x900002370 ) + (defun-debug blerc-stats-init () (when *stats-blerc* - (when (nonzero? (-> *blerc-globals* fragment-count)) - (format *stdcon* "~%BLERC (merc blend target) STATS~%") - (format *stdcon* " ~D fragments, ~D vertices~%" - (-> *blerc-globals* fragment-count) - (-> *blerc-globals* vtx-count) - ) - (format *stdcon* " ~D blend target computations (~F average)~%" - (-> *blerc-globals* target-vtx-count) - (/ (the float (-> *blerc-globals* target-vtx-count)) - (the float (-> *blerc-globals* vtx-count)) + (when (nonzero? (-> *blerc-globals* fragment-count)) + (format *stdcon* "~%BLERC (merc blend target) STATS~%") + (format + *stdcon* + " ~D fragments, ~D vertices~%" + (-> *blerc-globals* fragment-count) + (-> *blerc-globals* vtx-count) + ) + (format + *stdcon* + " ~D blend target computations (~F average)~%" + (-> *blerc-globals* target-vtx-count) + (/ (the float (-> *blerc-globals* target-vtx-count)) (the float (-> *blerc-globals* vtx-count))) + ) + (if (< (-> *blerc-globals* min-val) 0) + (format *stdcon* "MINIMUM OUT OF RANGE: ~D~%" (-> *blerc-globals* min-val)) + ) + (if (< 255 (-> *blerc-globals* max-val)) + (format *stdcon* "MAXIMUM OUT OF RANGE: ~D~%" (-> *blerc-globals* max-val)) + ) + ) + (let ((a0-7 *blerc-globals*)) + (set! (-> a0-7 min-val) 255) + (set! (-> a0-7 max-val) 0) + (set! (-> a0-7 fragment-count) 0) + (set! (-> a0-7 vtx-count) 0) + (set! (-> a0-7 target-vtx-count) 0) ) - ) - (if (< (-> *blerc-globals* min-val) 0) - (format *stdcon* "MINIMUM OUT OF RANGE: ~D~%" (-> *blerc-globals* min-val)) - ) - (if (< 255 (-> *blerc-globals* max-val)) - (format *stdcon* "MAXIMUM OUT OF RANGE: ~D~%" (-> *blerc-globals* max-val)) - ) ) - (let ((a0-7 *blerc-globals*)) - (set! (-> a0-7 min-val) 255) - (set! (-> a0-7 max-val) 0) - (set! (-> a0-7 fragment-count) 0) - (set! (-> a0-7 vtx-count) 0) - (set! (-> a0-7 target-vtx-count) 0) - ) - ) 0 (none) ) @@ -102,9 +111,9 @@ (defun blerc-init () (blerc-stats-init) (let ((v1-0 *blerc-globals*)) - (set! (-> v1-0 first) (the-as uint 0)) - (set! (-> v1-0 next) (the-as uint 0)) - ) + (set! (-> v1-0 first) (the-as uint 0)) + (set! (-> v1-0 next) (the-as uint 0)) + ) 0 (none) ) @@ -128,7 +137,7 @@ (when (and a3-0 (> (-> arg0 skel active-channels) 0) (zero? (-> arg0 draw cur-lod)) - (logtest? (-> arg0 skel status) 8) + (logtest? (-> arg0 skel status) (janim-status blerc)) ) (let ((a1-4 (-> a3-0 blerc-data))) (when a1-4 @@ -162,14 +171,14 @@ ) (setup-blerc-chains a0-10 a1-5 (-> *display* frames (-> *display* on-screen) frame global-buf)) ) - (logior! (-> arg0 skel status) 64) + (logior! (-> arg0 skel status) (janim-status blerc-done)) (return (the-as object #f)) ) ) ) ) - (when (logtest? (-> arg0 skel status) 64) - (set! (-> arg0 skel status) (logand -65 (-> arg0 skel status))) + (when (logtest? (-> arg0 skel status) (janim-status blerc-done)) + (logclear! (-> arg0 skel status) (janim-status blerc-done)) (setup-blerc-chains (-> arg0 draw lod-set lod 0 geo) (new 'static 'array int16 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) @@ -192,7 +201,6 @@ (sv-48 int) (sv-64 int) ) - ;; (format 0 "chain setup ctrl ~X array ~X~%" arg0 arg1) (set! sv-16 (-> arg0 header effect-count)) (let ((s3-0 (-> arg0 header blend-target-count)) (v1-1 (-> arg2 base)) @@ -203,11 +211,8 @@ (set! (-> *blerc-globals* first) (the-as uint a2-1)) ) (dotimes (s2-0 (the-as int sv-16)) - ; (format 0 "BLERC CHAIN AT ~X~%" a2-1) - (set! sv-24 (-> arg0 effect s2-0)) (set! sv-28 (-> sv-24 blend-frag-count)) - ;; (format 0 " blend frags: ~D~%" sv-28) (when (nonzero? sv-28) (let ((v1-15 (the-as object (-> sv-24 frag-geo))) (s1-0 (the-as structure (-> sv-24 frag-ctrl))) @@ -216,8 +221,6 @@ (set! sv-32 (-> sv-24 blend-ctrl)) (set! sv-48 0) (while (< sv-48 (the-as int sv-28)) - ;; (format 0 " [~D] loc: ~X~%" sv-48 s0-0) - (set! sv-64 (+ (the-as int v1-15) (logand (* (+ (-> (the-as merc-fragment-control s1-0) unsigned-four-count) 3) 4) #xfff0) ) @@ -240,7 +243,6 @@ (set! sv-32 (+ (the-as int sv-32) s3-0 2)) (the-as int sv-32) (set! sv-48 (+ sv-48 1)) - ;; (format 0 "~%") ) ) ) @@ -257,4 +259,8 @@ ) 0 (none) - ) \ No newline at end of file + ) + + + + diff --git a/goal_src/engine/load/loader.gc b/goal_src/engine/load/loader.gc index 7ed7525541..41cfa76e61 100644 --- a/goal_src/engine/load/loader.gc +++ b/goal_src/engine/load/loader.gc @@ -878,7 +878,7 @@ (v0-39 int) (spool-part int) (sv-24 float) - (old-skel-status uint) + (old-skel-status janim-status) (sv-32 int) (sv-40 int) (sv-48 int) @@ -897,7 +897,7 @@ (set! spool-sound (new-sound-id)) (backup-load-state-and-set-cmds *load-state* (-> arg0 command-list)) (set-setting! *setting-control* self 'spooling (the-as symbol (process->ppointer self)) 0.0 0) - (logior! (-> self skel status) 7) + (logior! (-> self skel status) (janim-status inited drawn done)) (kill-current-level-hint '() '() 'die) (level-hint-surpress!) (copy-settings-from-target! *setting-control*) @@ -1009,7 +1009,7 @@ (until (>= (the float v0-39) f28-0) (+! *str-pos-hack* *str-play-speed*) (if (= (-> self skel root-channel 0) (-> self skel channel)) - (logior! (-> self skel status) 32) + (logior! (-> self skel status) (janim-status spool)) ) (if (or (arg3 self) (and (<= sv-72 0) (>= (- (-> *display* base-frame-counter) sv-40) 1200)) @@ -1020,7 +1020,7 @@ (spool-push *art-control* (-> arg0 name) spool-part self -20.0) (if (< (+ spool-part 1) (-> arg0 parts)) (spool-push *art-control* (-> arg0 name) (+ spool-part 1) self -10.0) - (set! (-> self skel status) (logand -5 (-> self skel status))) + (logclear! (-> self skel status) (janim-status done)) ) (execute-commands-up-to *load-state* (ja-aframe-num 0)) (cond @@ -1048,7 +1048,7 @@ ) (set! sv-24 f28-0) ) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) ) (else (format 0 "ERROR: ~A in spool anim loop for ~A ~D, but not loaded.~" self (-> arg0 name) spool-part) @@ -1070,9 +1070,9 @@ (restore-load-state-and-cleanup *load-state*) (str-play-stop (-> arg0 name)) (set! (-> *art-control* active-stream) #f) - (logclear! (-> self skel status) #x6) ;; #x4 and #x2 - (if (not (logtest? (-> self skel status) 1)) - (logclear! (-> self skel status) #x1) + (logclear! (-> self skel status) (janim-status drawn done)) + (if (zero? (logand (-> self skel status) (janim-status inited))) + (logclear! (-> self skel status) (janim-status inited)) ) (clear-pending-settings-from-process *setting-control* self 'spooling) (cond diff --git a/goal_src/engine/target/logic-target.gc b/goal_src/engine/target/logic-target.gc index 9125ffd48b..e5a497ecd7 100644 --- a/goal_src/engine/target/logic-target.gc +++ b/goal_src/engine/target/logic-target.gc @@ -1521,10 +1521,6 @@ (defbehavior target-real-post target () (let ((gp-0 (the int (-> *display* time-ratio)))) - ;; added - this will display "LAG" on screen when target code is running in the laggy mode. - (when (!= gp-0 1) - (format *stdcon* "~19LLAG: ~D~%~0L" gp-0) - ) (set-time-ratios *display* 1.0) (countdown (s5-0 gp-0) (set! (-> self control unknown-int40) s5-0) @@ -2015,7 +2011,7 @@ (set! (-> v1-79 0 param2) (the-as basic (-> self control unknown-vector12))) ) (set! (-> self draw lod-set max-lod) 0) - (logior! (-> self skel status) 257) + (logior! (-> self skel status) (janim-status inited eye)) (set! (-> self draw shadow-ctrl) *target-shadow-control*) (set! (-> self control unknown-cspace00 parent) (-> self node-list data 42)) (set! (-> self control unknown-cspace00 joint) (the-as joint (-> self node-list data 54))) diff --git a/goal_src/engine/target/sidekick.gc b/goal_src/engine/target/sidekick.gc index 9abb25e54c..7b4ea744d9 100644 --- a/goal_src/engine/target/sidekick.gc +++ b/goal_src/engine/target/sidekick.gc @@ -109,12 +109,12 @@ (('blend-shape) (cond ((-> arg3 param 0) - (set! v0-0 (logior (-> self skel status) 8)) - (set! (-> self skel status) (the-as uint v0-0)) + (set! v0-0 (logior (-> self skel status) (janim-status blerc))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) (else - (set! v0-0 (logand -9 (-> self skel status))) - (set! (-> self skel status) (the-as uint v0-0)) + (set! v0-0 (logclear (-> self skel status) (janim-status blerc))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) ) v0-0 @@ -208,10 +208,10 @@ (TODO-RENAME-9 a0-26) ) ) - (if (logtest? (-> self skel status) 72) + (if (logtest? (-> self skel status) (janim-status blerc blerc-done)) (merc-blend-shape self) ) - (if (logtest? (-> self skel status) 384) + (if (logtest? (-> self skel status) (janim-status eye-done eye)) (merc-eye-anim self) ) (none) @@ -238,7 +238,7 @@ (set! (-> self draw origin-joint-index) (the-as uint 6)) (set! (-> self draw shadow-joint-index) (the-as uint 6)) (set! (-> self draw shadow-ctrl) *target-shadow-control*) - (logior! (-> self skel status) 256) + (logior! (-> self skel status) (janim-status eye)) (let ((v1-14 (-> self node-list data))) (set! (-> v1-14 0 param0) cspace<-cspace+quaternion!) (set! (-> v1-14 0 param1) (the-as basic (-> self parent-override 0 control unknown-cspace10 parent))) diff --git a/goal_src/engine/target/target-handler.gc b/goal_src/engine/target/target-handler.gc index 6c20af63da..b2005cf05e 100644 --- a/goal_src/engine/target/target-handler.gc +++ b/goal_src/engine/target/target-handler.gc @@ -209,8 +209,8 @@ ) ((= v1-0 'blend-shape) (if (-> arg3 param 0) - (logior! (-> self skel status) 8) - (set! (-> self skel status) (logand -9 (-> self skel status))) + (logior! (-> self skel status) (janim-status blerc)) + (logclear! (-> self skel status) (janim-status blerc)) ) (let ((v1-105 (new 'stack-no-clear 'event-message-block))) (set! (-> v1-105 from) arg0) @@ -290,7 +290,9 @@ v0-0 ) ((= v1-0 'no-look-around) - (set! (-> self no-look-around-wait) (the-as time-frame (+ (-> *display* base-frame-counter) (the-as time-frame (-> arg3 param 0))))) + (set! (-> self no-look-around-wait) + (+ (-> *display* base-frame-counter) (the-as time-frame (-> arg3 param 0))) + ) (if (= (-> self next-state name) 'target-look-around) (send-event self 'end-mode) ) @@ -1080,7 +1082,7 @@ target-standard-event-handler (set! (-> self neck flex-blend) 1.0) (set! (-> self control unknown-float91) 0.0) (logclear! (-> self draw status) (draw-status hidden)) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) (set! (-> self control status) (logand -16385 (-> self control status))) 0 (none) diff --git a/goal_src/levels/beach/beach-obs.gc b/goal_src/levels/beach/beach-obs.gc index 39b9298333..a0f54073a3 100644 --- a/goal_src/levels/beach/beach-obs.gc +++ b/goal_src/levels/beach/beach-obs.gc @@ -124,7 +124,7 @@ (set! (-> obj root-override pause-adjust-distance) 409600.0) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *windmill-one-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj sound-id) (new-sound-id)) (go windmill-one-idle) diff --git a/goal_src/levels/citadel/citadel-obs.gc b/goal_src/levels/citadel/citadel-obs.gc index 233cd691a8..bec77d3412 100644 --- a/goal_src/levels/citadel/citadel-obs.gc +++ b/goal_src/levels/citadel/citadel-obs.gc @@ -132,7 +132,7 @@ ) ) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set-vector! (-> obj cull-dir-local) 0.0 0.0 -1.0 1.0) (set! (-> obj cull-dot) (cos 5461.3335)) 0 @@ -468,7 +468,7 @@ (-> obj root-override trans) ) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (go citb-disc-idle) (none) ) @@ -622,7 +622,7 @@ (defmethod TODO-RENAME-26 citb-button ((obj citb-button)) (initialize-skeleton obj *citb-button-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (cond ((-> obj down?) diff --git a/goal_src/levels/citadel/citadel-sages.gc b/goal_src/levels/citadel/citadel-sages.gc index 2671a61498..7cbd5b4c52 100644 --- a/goal_src/levels/citadel/citadel-sages.gc +++ b/goal_src/levels/citadel/citadel-sages.gc @@ -194,7 +194,7 @@ (defmethod dummy-21 citb-sagecage ((obj citb-sagecage)) (initialize-skeleton obj *citb-sagecage-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj root-override pause-adjust-distance) 409600.0) (let ((f0-1 20766.72) (f4-0 14745.6) @@ -534,7 +534,10 @@ (defmethod draw-npc-shadow red-sagecage ((obj red-sagecage)) (-> obj draw shadow-ctrl) (cond - ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) (draw-status was-drawn))) + ((and (-> obj draw shadow) + (zero? (-> obj draw cur-lod)) + (logtest? (-> obj draw status) (draw-status was-drawn)) + ) (let ((v1-9 (-> obj draw shadow-ctrl))) (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) ) @@ -648,7 +651,10 @@ (defmethod draw-npc-shadow blue-sagecage ((obj blue-sagecage)) (-> obj draw shadow-ctrl) (cond - ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) (draw-status was-drawn))) + ((and (-> obj draw shadow) + (zero? (-> obj draw cur-lod)) + (logtest? (-> obj draw status) (draw-status was-drawn)) + ) (let ((v1-9 (-> obj draw shadow-ctrl))) (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) ) @@ -767,7 +773,10 @@ (defmethod draw-npc-shadow yellow-sagecage ((obj yellow-sagecage)) (-> obj draw shadow-ctrl) (cond - ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) (draw-status was-drawn))) + ((and (-> obj draw shadow) + (zero? (-> obj draw cur-lod)) + (logtest? (-> obj draw status) (draw-status was-drawn)) + ) (let ((v1-9 (-> obj draw shadow-ctrl))) (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) ) diff --git a/goal_src/levels/citadel/citb-plat.gc b/goal_src/levels/citadel/citb-plat.gc index 09d7bf7590..b67b1c9f8c 100644 --- a/goal_src/levels/citadel/citb-plat.gc +++ b/goal_src/levels/citadel/citb-plat.gc @@ -152,7 +152,7 @@ (process-drawable-from-entity! obj arg0) (set! (-> obj idle-distance) 245760.0) (dummy-22 obj) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (dummy-24 obj) (none) ) diff --git a/goal_src/levels/common/basebutton.gc b/goal_src/levels/common/basebutton.gc index 14437931f3..8001174cf6 100644 --- a/goal_src/levels/common/basebutton.gc +++ b/goal_src/levels/common/basebutton.gc @@ -357,7 +357,7 @@ (defmethod TODO-RENAME-26 basebutton ((obj basebutton)) (initialize-skeleton obj *generic-button-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (cond ((-> obj down?) diff --git a/goal_src/levels/common/baseplat.gc b/goal_src/levels/common/baseplat.gc index 69af8303dc..265230b336 100644 --- a/goal_src/levels/common/baseplat.gc +++ b/goal_src/levels/common/baseplat.gc @@ -30,7 +30,7 @@ (defmethod dummy-21 baseplat ((obj baseplat)) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj basetrans quad) (-> obj root-override trans quad)) (set! (-> obj bouncing) #f) 0 diff --git a/goal_src/levels/common/joint-exploder.gc b/goal_src/levels/common/joint-exploder.gc index ae7566937c..feace80fbe 100644 --- a/goal_src/levels/common/joint-exploder.gc +++ b/goal_src/levels/common/joint-exploder.gc @@ -649,7 +649,7 @@ (quaternion-copy! (-> self root quat) (-> self parent-override 0 root quat)) (set! (-> self root scale quad) (-> self parent-override 0 root scale quad)) (initialize-skeleton self arg0 '()) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (set! (-> self anim) (the-as art-joint-anim (-> self draw art-group data arg1))) (ja-channel-set! 1) (let ((gp-1 (-> self skel root-channel 0))) diff --git a/goal_src/levels/common/orb-cache.gc b/goal_src/levels/common/orb-cache.gc index 16ab26d1ff..e4d24929b5 100644 --- a/goal_src/levels/common/orb-cache.gc +++ b/goal_src/levels/common/orb-cache.gc @@ -369,7 +369,7 @@ (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (initialize-skeleton obj *orb-cache-top-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (dummy-21 obj) (set! (-> obj money) (res-lump-value (-> obj entity) 'orb-cache-count int :default (the-as uint128 20))) diff --git a/goal_src/levels/common/plat-button.gc b/goal_src/levels/common/plat-button.gc index bb5e2eb1dc..ea9379ee55 100644 --- a/goal_src/levels/common/plat-button.gc +++ b/goal_src/levels/common/plat-button.gc @@ -514,7 +514,7 @@ (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (TODO-RENAME-31 obj) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj spawn-pos quad) (-> obj root-override trans quad)) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) diff --git a/goal_src/levels/common/plat.gc b/goal_src/levels/common/plat.gc index 976390d85f..62be152f6b 100644 --- a/goal_src/levels/common/plat.gc +++ b/goal_src/levels/common/plat.gc @@ -278,7 +278,7 @@ (dummy-24 obj) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj (get-unlit-skel obj) '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (dummy-21 obj) (TODO-RENAME-25 obj) diff --git a/goal_src/levels/common/rigid-body.gc b/goal_src/levels/common/rigid-body.gc index c7460cf5b7..75025325b5 100644 --- a/goal_src/levels/common/rigid-body.gc +++ b/goal_src/levels/common/rigid-body.gc @@ -656,7 +656,7 @@ (set! (-> obj control-point-array) (new 'process 'rigid-body-control-point-inline-array (-> obj info control-point-count)) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-overlay)) (set-vector! (-> obj rbody cm-offset-joint) diff --git a/goal_src/levels/common/ropebridge.gc b/goal_src/levels/common/ropebridge.gc index 289a76f524..fa88f088c6 100644 --- a/goal_src/levels/common/ropebridge.gc +++ b/goal_src/levels/common/ropebridge.gc @@ -884,7 +884,7 @@ (add-collision-meshes obj) (process-drawable-from-entity! obj arg0) (initialize-skeleton-by-name obj (-> obj subtype-name) '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (let ((v1-29 (-> obj tuning))) (set! (-> obj draw bounds w) (-> v1-29 view-frustum-radius)) (set! (-> obj sleep-dist) (+ 40960.0 (* 0.5 (-> v1-29 bridge-end-to-end-len)))) diff --git a/goal_src/levels/finalboss/robotboss-misc.gc b/goal_src/levels/finalboss/robotboss-misc.gc index 22a8a24490..b9bc49b944 100644 --- a/goal_src/levels/finalboss/robotboss-misc.gc +++ b/goal_src/levels/finalboss/robotboss-misc.gc @@ -502,7 +502,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *silodoor-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj root pause-adjust-distance) 1228800.0) (set! (-> obj sound) (new 'process diff --git a/goal_src/levels/finalboss/robotboss.gc b/goal_src/levels/finalboss/robotboss.gc index 848e0c7e2a..000e15186e 100644 --- a/goal_src/levels/finalboss/robotboss.gc +++ b/goal_src/levels/finalboss/robotboss.gc @@ -40,7 +40,7 @@ (if (and *target* (logtest? (-> *target* state-flags) 256)) (process-release? *target*) ) - (set! (-> self skel status) (logand -2 (-> self skel status))) + (logclear! (-> self skel status) (janim-status inited)) (set! (-> self skip-cut) #f) (none) ) @@ -67,7 +67,7 @@ (set! (-> self skip-cut) #t) ) (else - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (process-grab? *target*) (set! (-> *camera-other-root* quad) (-> self root-override trans quad)) (let ((s5-1 (-> self node-list data 88 bone transform)) @@ -250,9 +250,9 @@ ) ) ) - (when (and arg0 *debug-segment* (cpad-pressed? 0 l1)) ;; NOTE : changed from (cpad-pressed? 1 x) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l1)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons l1)) + (when (and arg0 *debug-segment* (cpad-pressed? 0 l3)) ;; NOTE : changed from (cpad-pressed? 1 x) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l3)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons l3)) (go arg0) ) (none) diff --git a/goal_src/levels/flut_common/flutflut.gc b/goal_src/levels/flut_common/flutflut.gc index f1366edf41..e10b15349f 100644 --- a/goal_src/levels/flut_common/flutflut.gc +++ b/goal_src/levels/flut_common/flutflut.gc @@ -366,7 +366,7 @@ (process-drawable-from-entity! obj arg0) (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (res-lump-float arg0 'rotoffset)) (initialize-skeleton obj *flutflut-sg* '()) - (logior! (-> obj skel status) 256) + (logior! (-> obj skel status) (janim-status eye)) (set! (-> obj draw shadow-ctrl) *flutflut-shadow-control*) (let ((v1-24 (-> obj node-list data))) (set! (-> v1-24 0 param0) cspace<-transformq+trans!) diff --git a/goal_src/levels/jungle/jungle-obs.gc b/goal_src/levels/jungle/jungle-obs.gc index dbc3ec23e8..72e4aa33e7 100644 --- a/goal_src/levels/jungle/jungle-obs.gc +++ b/goal_src/levels/jungle/jungle-obs.gc @@ -308,7 +308,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *lurkerm-tall-sail-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj alt-actor) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (set! (-> obj speed) 1.0) @@ -439,7 +439,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *lurkerm-short-sail-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj alt-actor) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (set! (-> obj speed) 1.0) @@ -550,7 +550,7 @@ (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (initialize-skeleton obj *lurkerm-piston-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj base quad) (-> obj root-override trans quad)) (let ((f30-0 (-> obj base y))) @@ -1152,7 +1152,7 @@ (process-drawable-from-entity! obj arg0) (set-vector! (-> obj activation-point) 1765785.6 61440.0 -1279180.8 1.0) (initialize-skeleton obj *precurbridge-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-post) (update-transforms! (-> obj root-override)) (set! (-> obj base quad) (-> obj root-override trans quad)) diff --git a/goal_src/levels/jungle/junglesnake.gc b/goal_src/levels/jungle/junglesnake.gc index 484924a6c1..e9beddcd62 100644 --- a/goal_src/levels/jungle/junglesnake.gc +++ b/goal_src/levels/jungle/junglesnake.gc @@ -908,7 +908,7 @@ junglesnake-default-event-handler (quaternion-identity! (-> obj root-override quat)) (dummy-22 obj (-> obj ry)) (dummy-21 obj) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (go junglesnake-sleeping) (none) ) diff --git a/goal_src/levels/jungleb/jungleb-obs.gc b/goal_src/levels/jungleb/jungleb-obs.gc index 5e941e9661..5e242f0409 100644 --- a/goal_src/levels/jungleb/jungleb-obs.gc +++ b/goal_src/levels/jungleb/jungleb-obs.gc @@ -385,7 +385,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *eggtop-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 189) obj)) (set! (-> obj sound-id) (new-sound-id)) diff --git a/goal_src/levels/jungleb/plant-boss.gc b/goal_src/levels/jungleb/plant-boss.gc index a423b32faa..329b4d4795 100644 --- a/goal_src/levels/jungleb/plant-boss.gc +++ b/goal_src/levels/jungleb/plant-boss.gc @@ -2093,7 +2093,7 @@ plant-boss-generic-event-handler :exit (behavior () - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) (let ((a0-4 (handle->process (-> self camera)))) (if a0-4 (deactivate a0-4) @@ -2115,7 +2115,7 @@ (gp-0 0) ) (send-event *camera* 'change-state cam-lookat 0) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (ja-channel-push! 2 30) (let ((s5-0 (-> self skel root-channel 0))) (joint-control-channel-group-eval! @@ -2151,7 +2151,7 @@ ) ) ) - (logior! (-> self skel status) 32) + (logior! (-> self skel status) (janim-status spool)) (ambient-hint-spawn "gamcam29" (the-as vector #f) *entity-pool* 'ambient) ) (when (and (>= (ja-aframe-num 0) 236.0) (= gp-0 1)) @@ -2197,7 +2197,7 @@ ) ) (send-event *target* 'end-mode) - (set! (-> self skel status) (logand -2 (-> self skel status))) + (logclear! (-> self skel status) (janim-status inited)) (go plant-boss-idle) (none) ) diff --git a/goal_src/levels/jungleb/plat-flip.gc b/goal_src/levels/jungleb/plat-flip.gc index ef3f770369..91f7287e17 100644 --- a/goal_src/levels/jungleb/plat-flip.gc +++ b/goal_src/levels/jungleb/plat-flip.gc @@ -166,7 +166,7 @@ (process-drawable-from-entity! obj arg0) (set! (-> obj base-pos quad) (-> obj root-override trans quad)) (initialize-skeleton obj *plat-flip-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (let ((f30-0 300.0)) (set! sv-16 (new 'static 'res-tag)) (let ((v1-28 (res-lump-data arg0 'delay pointer :tag-ptr (& sv-16)))) diff --git a/goal_src/levels/maincave/gnawer.gc b/goal_src/levels/maincave/gnawer.gc index b36d611752..c798c8f3a0 100644 --- a/goal_src/levels/maincave/gnawer.gc +++ b/goal_src/levels/maincave/gnawer.gc @@ -1807,7 +1807,7 @@ (+! (-> a0-59 anim-to-local-trans-offset z) (* 5447.68 (the float v1-110))) ) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj link) (new 'process 'actor-link-info obj)) (set! (-> obj gnawer-id) (+ (actor-count-before (-> obj link)) 1)) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) diff --git a/goal_src/levels/maincave/maincave-obs.gc b/goal_src/levels/maincave/maincave-obs.gc index 05a949e0b5..9d3dfaddcc 100644 --- a/goal_src/levels/maincave/maincave-obs.gc +++ b/goal_src/levels/maincave/maincave-obs.gc @@ -912,7 +912,7 @@ ) ) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (load-params! (-> obj sync) obj (the-as uint 3000) 0.0 0.15 0.15) (ja-post) (update-transforms! (-> obj root-override)) @@ -997,7 +997,7 @@ (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *cavespatulatwo-sg* '()) (logclear! (-> obj mask) (process-mask actor-pause)) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (load-params! (-> obj sync) obj (the-as uint 3000) 0.0 0.15 0.15) (ja-channel-push! 1 0) (let ((s5-1 (-> obj skel root-channel 0))) @@ -1447,7 +1447,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *caveelevator-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj skel postbind-function) caveelevator-joint-callback) (set! sv-16 (new 'static 'res-tag)) (let ((v1-28 (res-lump-data arg0 'trans-offset (pointer float) :tag-ptr (& sv-16)))) diff --git a/goal_src/levels/maincave/mother-spider.gc b/goal_src/levels/maincave/mother-spider.gc index a4c942045c..58e9f0e369 100644 --- a/goal_src/levels/maincave/mother-spider.gc +++ b/goal_src/levels/maincave/mother-spider.gc @@ -439,7 +439,10 @@ (defmethod TODO-RENAME-24 mother-spider ((obj mother-spider)) (cond - ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) (draw-status was-drawn))) + ((and (-> obj draw shadow) + (zero? (-> obj draw cur-lod)) + (logtest? (-> obj draw status) (draw-status was-drawn)) + ) (let ((s5-0 (new 'stack-no-clear 'collide-tri-result)) (a1-0 (new 'stack-no-clear 'vector)) (a2-0 (new 'stack-no-clear 'vector)) @@ -2112,7 +2115,7 @@ ) (set! (-> obj draw shadow-ctrl) (new 'process 'shadow-control 0.0 0.0 4096000.0 (the-as float 60) 245760.0)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 618) obj)) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (let ((v0-30 (new 'process 'joint-mod (joint-mod-handler-mode reset) obj 19))) (set! (-> obj neck) v0-30) (set-vector! (-> obj neck twist-max) 8192.0 8192.0 0.0 1.0) diff --git a/goal_src/levels/misty/mistycannon.gc b/goal_src/levels/misty/mistycannon.gc index 8621522f31..59cc28c8a2 100644 --- a/goal_src/levels/misty/mistycannon.gc +++ b/goal_src/levels/misty/mistycannon.gc @@ -1897,7 +1897,7 @@ (process-drawable-from-entity! obj arg0) (quaternion-identity! (-> obj root-override quat)) (initialize-skeleton obj *mistycannon-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj skel prebind-function) (the-as (function pointer int process-drawable none) mistycannon-prebind-function) diff --git a/goal_src/levels/rolling/rolling-obs.gc b/goal_src/levels/rolling/rolling-obs.gc index 23f462c789..6f6b0352fa 100644 --- a/goal_src/levels/rolling/rolling-obs.gc +++ b/goal_src/levels/rolling/rolling-obs.gc @@ -826,9 +826,9 @@ (let ((v1-23 (-> obj skel root-channel 0))) (set! (-> v1-23 frame-group) (the-as art-joint-anim (-> obj draw art-group data 4))) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-post) - (set! (-> obj skel status) (logand -2 (-> obj skel status))) + (logclear! (-> obj skel status) (janim-status inited)) (vector<-cspace! s5-1 (-> obj node-list data 25)) (birth-pickup-at-point s5-1 (pickup-type fuel-cell) 55.0 #f obj (the-as fact-info #f)) ) diff --git a/goal_src/levels/snow/snow-flutflut-obs.gc b/goal_src/levels/snow/snow-flutflut-obs.gc index ba3b03efeb..ae08e512bf 100644 --- a/goal_src/levels/snow/snow-flutflut-obs.gc +++ b/goal_src/levels/snow/snow-flutflut-obs.gc @@ -466,7 +466,7 @@ (process-drawable-from-entity! obj arg0) (set! (-> obj link) (new 'process 'actor-link-info obj)) (initialize-skeleton obj *snow-button-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj timeout) (the-as time-frame (the int (* 300.0 (res-lump-float arg0 'timeout :default 10.0))))) (set! (-> obj delay-til-wiggle) (+ (-> obj timeout) (seconds -0.4))) (if (> (entity-actor-count arg0 'alt-actor) 0) diff --git a/goal_src/levels/snow/snow-obs.gc b/goal_src/levels/snow/snow-obs.gc index ee7324c77f..8491c8aa49 100644 --- a/goal_src/levels/snow/snow-obs.gc +++ b/goal_src/levels/snow/snow-obs.gc @@ -590,7 +590,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *snow-eggtop-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj spawn-trans quad) (-> obj root-override trans quad)) (set! (-> obj root-override trans y) (+ -2662.4 (-> obj root-override trans y))) (update-transforms! (-> obj root-override)) @@ -881,7 +881,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *snow-spatula-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.15 0.15) (quaternion->matrix (-> obj startmat) (-> obj root-override quat)) (dummy-21 obj) @@ -1782,7 +1782,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *snow-switch-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-push! 1 0) (let ((s5-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! @@ -2067,7 +2067,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *snow-log-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (logior! (-> obj draw status) (draw-status hidden)) (set! (-> obj root-override trans x) (+ -1024.0 (-> obj root-override trans x))) (set! (-> obj root-override trans y) (+ -4915.2 (-> obj root-override trans y))) @@ -2228,7 +2228,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *snow-switch-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-push! 1 0) (let ((s4-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! diff --git a/goal_src/levels/snow/snow-ram.gc b/goal_src/levels/snow/snow-ram.gc index 9fa2c6f0e0..01c780d737 100644 --- a/goal_src/levels/snow/snow-ram.gc +++ b/goal_src/levels/snow/snow-ram.gc @@ -465,7 +465,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *ram-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-post) (update-transforms! (-> obj root-override)) (set! (-> obj orient-ry) (quaternion-y-angle (-> obj root-override quat))) diff --git a/goal_src/levels/sunken/floating-launcher.gc b/goal_src/levels/sunken/floating-launcher.gc index 37fc95bf4a..80415590e2 100644 --- a/goal_src/levels/sunken/floating-launcher.gc +++ b/goal_src/levels/sunken/floating-launcher.gc @@ -146,7 +146,7 @@ ) ) (initialize-skeleton obj *floating-launcher-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (dummy-21 obj) (set! (-> obj trigger-height) (res-lump-float arg0 'trigger-height)) diff --git a/goal_src/levels/sunken/helix-water.gc b/goal_src/levels/sunken/helix-water.gc index 88901ab2d3..0b2f3c2692 100644 --- a/goal_src/levels/sunken/helix-water.gc +++ b/goal_src/levels/sunken/helix-water.gc @@ -224,7 +224,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *helix-slide-door-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (let ((s5-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! @@ -586,7 +586,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *helix-button-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (let ((s5-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! diff --git a/goal_src/levels/sunken/orbit-plat.gc b/goal_src/levels/sunken/orbit-plat.gc index 5286a89e89..567432d3d2 100644 --- a/goal_src/levels/sunken/orbit-plat.gc +++ b/goal_src/levels/sunken/orbit-plat.gc @@ -913,7 +913,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *orbit-plat-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! diff --git a/goal_src/levels/sunken/qbert-plat.gc b/goal_src/levels/sunken/qbert-plat.gc index 9b01cd4aeb..7981872be4 100644 --- a/goal_src/levels/sunken/qbert-plat.gc +++ b/goal_src/levels/sunken/qbert-plat.gc @@ -157,7 +157,7 @@ (quaternion-copy! (-> self root-overlay quat) (-> arg1 root-overlay quat)) (set! (-> self root-overlay scale quad) (-> arg1 root-overlay scale quad)) (initialize-skeleton self *qbert-plat-on-sg* '()) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (ja-channel-set! 1) (let ((gp-1 (-> self skel root-channel 0))) (joint-control-channel-group-eval! @@ -355,7 +355,7 @@ (defmethod TODO-RENAME-31 qbert-plat ((obj qbert-plat)) (initialize-skeleton obj *qbert-plat-sg* '()) (set! (-> obj anchor-point quad) (-> obj root-overlay trans quad)) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-overlay)) (TODO-RENAME-29 obj *qbert-plat-constants*) (set! (-> obj float-height-offset) 6144.0) diff --git a/goal_src/levels/sunken/steam-cap.gc b/goal_src/levels/sunken/steam-cap.gc index a810713f75..1363cbd493 100644 --- a/goal_src/levels/sunken/steam-cap.gc +++ b/goal_src/levels/sunken/steam-cap.gc @@ -734,7 +734,7 @@ (set! (-> obj do-landing-sound?) #f) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *steam-cap-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! diff --git a/goal_src/levels/sunken/sun-exit-chamber.gc b/goal_src/levels/sunken/sun-exit-chamber.gc index ca0329ade0..9345ed7733 100644 --- a/goal_src/levels/sunken/sun-exit-chamber.gc +++ b/goal_src/levels/sunken/sun-exit-chamber.gc @@ -1346,7 +1346,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *exit-chamber-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (logclear! (-> obj mask) (process-mask actor-pause)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 620) obj)) (ja-channel-set! 1) diff --git a/goal_src/levels/sunken/wall-plat.gc b/goal_src/levels/sunken/wall-plat.gc index 1628b33520..66a9bba8c0 100644 --- a/goal_src/levels/sunken/wall-plat.gc +++ b/goal_src/levels/sunken/wall-plat.gc @@ -245,7 +245,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *wall-plat-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj use-sync?) (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.2 0.2)) (let ((f30-0 (quaternion-y-angle (-> obj root-override quat))) (s4-1 (new 'stack-no-clear 'vector)) diff --git a/goal_src/levels/sunken/wedge-plats.gc b/goal_src/levels/sunken/wedge-plats.gc index b0e5645deb..72e7f5aeb7 100644 --- a/goal_src/levels/sunken/wedge-plats.gc +++ b/goal_src/levels/sunken/wedge-plats.gc @@ -258,7 +258,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *wedge-plat-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (dummy-21 obj) (set! (-> obj master) (the-as wedge-plat-master (entity-actor-lookup arg0 'alt-actor 0))) @@ -461,7 +461,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *wedge-plat-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (dummy-21 obj) (set! (-> obj master) (the-as wedge-plat-master (entity-actor-lookup arg0 'alt-actor 0))) diff --git a/goal_src/levels/title/title-obs.gc b/goal_src/levels/title/title-obs.gc index d78eda2ca0..f68cb39c27 100644 --- a/goal_src/levels/title/title-obs.gc +++ b/goal_src/levels/title/title-obs.gc @@ -142,12 +142,12 @@ ((= v1-0 'blend-shape) (cond ((-> arg3 param 0) - (set! v0-0 (logior (-> self skel status) 264)) - (set! (-> self skel status) v0-0) + (set! v0-0 (the-as uint (logior (-> self skel status) (janim-status blerc eye)))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) (else - (set! v0-0 (logand (the-as uint -265) (-> self skel status))) - (set! (-> self skel status) v0-0) + (set! v0-0 (the-as uint (logclear (-> self skel status) (janim-status blerc eye)))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) ) v0-0 @@ -189,7 +189,7 @@ (set! (-> self entity) arg0) (set! (-> self root) (new 'process 'trsqv)) (initialize-skeleton self arg1 '()) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (set! (-> self draw origin-joint-index) (the-as uint 3)) (set! (-> self draw shadow-mask) (the-as uint 255)) (set! (-> self draw global-effect) (draw-effect title)) @@ -375,7 +375,7 @@ (joint-control-channel-group! a0-60 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) ) (until (ja-done? 0) - (logior! (-> self skel status) 32) + (logior! (-> self skel status) (janim-status spool)) (suspend) (let ((a0-62 (-> self skel root-channel 0))) (set! (-> a0-62 param 0) (the float (+ (-> a0-62 frame-group data 0 length) -1))) @@ -492,7 +492,7 @@ (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) ) (until (ja-done? 0) - (logior! (-> self skel status) 32) + (logior! (-> self skel status) (janim-status spool)) (suspend) (let ((a0-13 (-> self skel root-channel 0))) (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) @@ -773,7 +773,7 @@ ) ) ) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (set! (-> self draw global-effect) (draw-effect title)) (set! (-> self draw shadow-mask) (the-as uint 255)) (set! (-> self camera) (the-as handle #f)) diff --git a/goal_src/levels/village1/fishermans-boat.gc b/goal_src/levels/village1/fishermans-boat.gc index 7ee4d36afc..695f4bc821 100644 --- a/goal_src/levels/village1/fishermans-boat.gc +++ b/goal_src/levels/village1/fishermans-boat.gc @@ -1380,7 +1380,7 @@ (defmethod TODO-RENAME-31 fishermans-boat ((obj fishermans-boat)) (initialize-skeleton obj *fishermans-boat-sg* '()) (logclear! (-> obj mask) (process-mask actor-pause movie)) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (process-entity-status! obj (entity-perm-status bit-3) #t) (process-entity-status! obj (entity-perm-status bit-7) #t) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) diff --git a/goal_src/levels/village2/village2-obs.gc b/goal_src/levels/village2/village2-obs.gc index 3d4e835b1f..0564b3b95e 100644 --- a/goal_src/levels/village2/village2-obs.gc +++ b/goal_src/levels/village2/village2-obs.gc @@ -709,9 +709,9 @@ (logclear! (-> self draw status) (draw-status hidden)) (set! (-> self root-override trans quad) (-> self entity extra trans quad)) (vector-reset! (-> self draw origin)) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (ja-post) - (set! (-> self skel status) (logand -2 (-> self skel status))) + (logclear! (-> self skel status) (janim-status inited)) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 4)) (vector-! (-> self draw bounds) gp-0 (-> self root-override trans)) @@ -796,7 +796,7 @@ :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) (none) ) :trans diff --git a/goal_src/levels/village3/minecart.gc b/goal_src/levels/village3/minecart.gc index 8c64237a12..858de9181a 100644 --- a/goal_src/levels/village3/minecart.gc +++ b/goal_src/levels/village3/minecart.gc @@ -112,7 +112,7 @@ (quaternion-identity! (-> self root-override quat)) (initialize-skeleton self *minecartsteel-sg* '()) (set! (-> self draw origin-joint-index) (the-as uint 3)) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (load-params! (-> self sync) self (the-as uint 9000) arg1 0.15 0.15) (set! (-> self sound) (new 'process diff --git a/goal_src/levels/village_common/villagep-obs.gc b/goal_src/levels/village_common/villagep-obs.gc index 5a4eaae70f..f8c0766e6b 100644 --- a/goal_src/levels/village_common/villagep-obs.gc +++ b/goal_src/levels/village_common/villagep-obs.gc @@ -585,7 +585,7 @@ ) ) (initialize-skeleton obj *warp-gate-switch-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (cond ((-> obj down?) diff --git a/test/decompiler/reference/engine/anim/joint-h_REF.gc b/test/decompiler/reference/engine/anim/joint-h_REF.gc index 2ec044a1e9..e6cc0e14de 100644 --- a/test/decompiler/reference/engine/anim/joint-h_REF.gc +++ b/test/decompiler/reference/engine/anim/joint-h_REF.gc @@ -44,7 +44,7 @@ ;; definition of type joint-control (deftype joint-control (basic) - ((status uint16 :offset-assert 4) + ((status janim-status :offset-assert 4) (allocated-length int16 :offset-assert 6) (root-channel (inline-array joint-control-channel) :offset 16) (blend-index int32 :offset-assert 20) diff --git a/test/decompiler/reference/engine/camera/pov-camera_REF.gc b/test/decompiler/reference/engine/camera/pov-camera_REF.gc index cf1cb8f61a..44d3e8e561 100644 --- a/test/decompiler/reference/engine/camera/pov-camera_REF.gc +++ b/test/decompiler/reference/engine/camera/pov-camera_REF.gc @@ -288,11 +288,11 @@ ) (initialize-skeleton self arg1 '()) (logior! (-> self draw status) (draw-status skip-bones)) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (set! (-> self anim-name) arg2) (cond ((= (-> arg2 type) string) - (logior! (-> self skel status) 32) + (logior! (-> self skel status) (janim-status spool)) (let ((s5-1 (lookup-art (-> self draw art-group) arg2 art-joint-anim))) (if (not s5-1) (go process-drawable-art-error arg2) diff --git a/test/decompiler/reference/engine/draw/process-drawable_REF.gc b/test/decompiler/reference/engine/draw/process-drawable_REF.gc index 5db0477a84..8f6d47ab8f 100644 --- a/test/decompiler/reference/engine/draw/process-drawable_REF.gc +++ b/test/decompiler/reference/engine/draw/process-drawable_REF.gc @@ -972,10 +972,10 @@ (logior! (-> obj draw status) (draw-status no-anim)) ) ) - (if (logtest? (-> obj skel status) 72) + (if (logtest? (-> obj skel status) (janim-status blerc blerc-done)) (merc-blend-shape obj) ) - (if (logtest? (-> obj skel status) 384) + (if (logtest? (-> obj skel status) (janim-status eye-done eye)) (merc-eye-anim obj) ) (label cfg-27) @@ -998,7 +998,7 @@ (logclear! (-> self draw status) (draw-status no-anim no-skeleton-update)) (when (nonzero? (-> self skel)) (evaluate-joint-control self) - (when (or (logtest? (-> self skel status) 1) gp-1) + (when (or (logtest? (-> self skel status) (janim-status inited)) gp-1) (do-joint-math! self) (if (and gp-1 (type-type? (-> self root type) collide-shape)) (update-transforms! (the-as collide-shape (-> self root))) diff --git a/test/decompiler/reference/engine/game/collectables_REF.gc b/test/decompiler/reference/engine/game/collectables_REF.gc index 9f3ea6ed5e..fe5be2d228 100644 --- a/test/decompiler/reference/engine/game/collectables_REF.gc +++ b/test/decompiler/reference/engine/game/collectables_REF.gc @@ -1805,7 +1805,9 @@ ) ) ) - (when (and (logtest? (-> self skel status) 32) (and (>= (ja-aframe-num 0) f30-0) (-> self state-object))) + (when (and (logtest? (-> self skel status) (janim-status spool)) + (and (>= (ja-aframe-num 0) f30-0) (-> self state-object)) + ) (set! (-> self state-object) #f) (kill-and-free-particles (-> self part)) (logior! (-> self draw status) (draw-status skip-bones)) @@ -1898,7 +1900,7 @@ (spool-push *art-control* (-> self victory-anim name) 0 self (the-as float -99.0)) (send-event *target* 'get-pickup (-> self fact pickup-type) (-> self fact pickup-amount)) (set! (-> self draw bounds w) 32768.0) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (send-event *target* 'blend-shape #t) (push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) (push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) @@ -2372,7 +2374,7 @@ (if (-> self actor-pause) (logior! (-> self mask) (process-mask actor-pause)) ) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) (none) ) :code diff --git a/test/decompiler/reference/engine/game/generic-obs_REF.gc b/test/decompiler/reference/engine/game/generic-obs_REF.gc index b38d7d5f4c..c73a6de8f0 100644 --- a/test/decompiler/reference/engine/game/generic-obs_REF.gc +++ b/test/decompiler/reference/engine/game/generic-obs_REF.gc @@ -5,7 +5,7 @@ ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defbehavior clone-anim-once process-drawable ((arg0 handle) (arg1 int) (arg2 symbol) (arg3 string)) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) (let ((s5-0 (handle->process arg0))) (if (the-as process-drawable s5-0) (joint-control-copy! (-> self skel) (-> (the-as process-drawable s5-0) skel)) @@ -34,8 +34,8 @@ ) (quaternion-copy! (-> self root quat) (-> (the-as process-drawable s5-0) root quat)) ) - (if (logtest? (-> (the-as process-drawable s5-0) skel status) 32) - (logior! (-> self skel status) 32) + (if (logtest? (-> (the-as process-drawable s5-0) skel status) (janim-status spool)) + (logior! (-> self skel status) (janim-status spool)) ) (logclear! (-> self draw status) (draw-status hidden no-anim)) (if (not (-> self skel root-channel 0 frame-group)) @@ -57,10 +57,10 @@ (TODO-RENAME-9 a0-22) ) ) - (if (logtest? (-> self skel status) 72) + (if (logtest? (-> self skel status) (janim-status blerc blerc-done)) (merc-blend-shape self) ) - (if (logtest? (-> self skel status) 384) + (if (logtest? (-> self skel status) (janim-status eye-done eye)) (merc-eye-anim self) ) ) @@ -85,7 +85,7 @@ (clone-anim-once arg0 arg1 #t arg3) (suspend) ) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) 0 (none) ) @@ -275,12 +275,12 @@ ((= v1-0 'blend-shape) (cond ((-> arg3 param 0) - (set! v0-0 (the-as none (logior (-> self skel status) 264))) - (set! (-> self skel status) (the-as uint v0-0)) + (set! v0-0 (the-as none (logior (-> self skel status) (janim-status blerc eye)))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) (else - (set! v0-0 (the-as none (logand -265 (-> self skel status)))) - (set! (-> self skel status) (the-as uint v0-0)) + (set! v0-0 (the-as none (logclear (-> self skel status) (janim-status blerc eye)))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) ) v0-0 @@ -403,7 +403,7 @@ (cond ((nonzero? (-> self skel)) (let ((gp-1 (-> self skel status))) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (set! v0-0 (ja-post)) (set! (-> self skel status) gp-1) ) @@ -960,25 +960,27 @@ (defun ja-anim-done? ((arg0 process)) (with-pp (let ((gp-0 (command-get-process arg0 *target*))) - (the-as symbol (when gp-0 - (cond - ((type-type? (-> gp-0 type) manipy) - (send-event gp-0 'query 'done) - ) - ((type-type? (-> gp-0 type) process-drawable) - (when (zero? (logand (-> (the-as process-drawable gp-0) skel status) 4)) - (let ((s5-0 pp)) - (set! pp gp-0) - (let ((v0-1 (the-as object (ja-done? 0)))) - (set! pp s5-0) - v0-1 - ) - ) - ) - ) - ) - ) - ) + (the-as + symbol + (when gp-0 + (cond + ((type-type? (-> gp-0 type) manipy) + (send-event gp-0 'query 'done) + ) + ((type-type? (-> gp-0 type) process-drawable) + (when (zero? (logand (-> (the-as process-drawable gp-0) skel status) (janim-status done))) + (let ((s5-0 pp)) + (set! pp gp-0) + (let ((v0-1 (the-as object (ja-done? 0)))) + (set! pp s5-0) + v0-1 + ) + ) + ) + ) + ) + ) + ) ) ) ) @@ -1143,8 +1145,8 @@ (set! gp-0 (command-get-process (car s4-0) *target*)) (when (the-as target gp-0) (if (car (cdr s4-0)) - (set! (-> (the-as target gp-0) skel status) (logand -3 (-> (the-as target gp-0) skel status))) - (logior! (-> (the-as target gp-0) skel status) 2) + (logclear! (-> (the-as target gp-0) skel status) (janim-status drawn)) + (logior! (-> (the-as target gp-0) skel status) (janim-status drawn)) ) ) ) diff --git a/test/decompiler/reference/engine/game/task/process-taskable_REF.gc b/test/decompiler/reference/engine/game/task/process-taskable_REF.gc index eca90b7ffb..db80899637 100644 --- a/test/decompiler/reference/engine/game/task/process-taskable_REF.gc +++ b/test/decompiler/reference/engine/game/task/process-taskable_REF.gc @@ -414,7 +414,7 @@ ;; definition for function process-taskable-play-anim-enter (defbehavior process-taskable-play-anim-enter process-taskable () (init! (-> self query) (the-as string #f) 40 150 25 #t (the-as string #f)) - (logior! (-> self skel status) 8) + (logior! (-> self skel status) (janim-status blerc)) (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) (set! (-> self camera) (ppointer->handle (when gp-0 @@ -436,7 +436,7 @@ ;; definition for function process-taskable-play-anim-exit (defbehavior process-taskable-play-anim-exit process-taskable () - (set! (-> self skel status) (logand -9 (-> self skel status))) + (logclear! (-> self skel status) (janim-status blerc)) (let ((a0-4 (handle->process (-> self camera)))) (if a0-4 (deactivate a0-4) @@ -768,7 +768,7 @@ ;; definition for function process-taskable-clean-up-after-talking (defbehavior process-taskable-clean-up-after-talking process-taskable () (logclear! (-> self draw status) (draw-status hidden)) - (set! (-> self skel status) (logand -2 (-> self skel status))) + (logclear! (-> self skel status) (janim-status inited)) (clear-pending-settings-from-process *setting-control* self 'border-mode) (clear-pending-settings-from-process *setting-control* self 'talking) (none) @@ -959,14 +959,14 @@ ) :enter (behavior ((arg0 handle)) - (logior! (-> self skel status) 8) + (logior! (-> self skel status) (janim-status blerc)) (logclear! (-> self mask) (process-mask actor-pause)) (set-vector! (-> self draw bounds) 0.0 (-> self draw-bounds-y-offset) 0.0 (-> self draw bounds w)) (none) ) :exit (behavior () - (set! (-> self skel status) (logand -41 (-> self skel status))) + (logclear! (-> self skel status) (janim-status blerc spool)) (logior! (-> self mask) (process-mask actor-pause)) (let ((v1-6 (-> self entity extra trans))) (if v1-6 @@ -1062,7 +1062,7 @@ ) (else (kill-current-level-hint '() '() 'exit) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) (set-setting! *setting-control* self 'border-mode #f 0.0 0) @@ -1210,7 +1210,7 @@ (process-drawable-from-entity! obj (the-as entity-actor arg0)) (initialize-skeleton obj arg1 '()) (set! (-> obj shadow-backup) (-> obj draw shadow)) - (logior! (-> obj skel status) 256) + (logior! (-> obj skel status) (janim-status eye)) (set! (-> obj root-override pause-adjust-distance) -122880.0) (set! (-> obj fuel-cell-anim) (fuel-cell-pick-anim obj)) (set! (-> obj draw origin-joint-index) (the-as uint arg2)) @@ -1407,7 +1407,10 @@ (s3-0 (-> (the-as process-taskable s2-0) node-list data (-> self cam-joint-index) bone scale)) (gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) - (s1-0 (or (!= (-> self spooling?) #t) (logtest? (-> (the-as process-taskable s2-0) skel status) 32))) + (s1-0 (or (!= (-> self spooling?) #t) + (logtest? (-> (the-as process-taskable s2-0) skel status) (janim-status spool)) + ) + ) ) (vector<-cspace! s5-0 (-> (the-as process-taskable s2-0) node-list data (-> self cam-joint-index))) (vector-normalize-copy! gp-0 (-> s4-0 vector 2) -1.0) diff --git a/test/decompiler/reference/engine/gfx/eye_REF.gc b/test/decompiler/reference/engine/gfx/eye_REF.gc index ea190206dd..b15f804b68 100644 --- a/test/decompiler/reference/engine/gfx/eye_REF.gc +++ b/test/decompiler/reference/engine/gfx/eye_REF.gc @@ -823,7 +823,7 @@ (v1-40 (handle->process (-> s5-3 process))) ) (when (and v1-40 - (logtest? (-> (the-as process-drawable v1-40) skel status) 256) + (logtest? (-> (the-as process-drawable v1-40) skel status) (janim-status eye)) (logtest? (-> (the-as process-drawable v1-40) draw status) (draw-status was-drawn)) ) (when (-> s5-3 shaders) @@ -1129,7 +1129,7 @@ (a0-1 (-> arg0 skel root-channel 0)) (s4-0 (-> a0-1 frame-group)) ) - (when (and (logtest? (-> arg0 skel status) 256) + (when (and (logtest? (-> arg0 skel status) (janim-status eye)) (nonzero? s5-0) (> (-> arg0 skel active-channels) 0) s4-0 @@ -1204,11 +1204,11 @@ ) ) ) - (logior! (-> arg0 skel status) 128) + (logior! (-> arg0 skel status) (janim-status eye-done)) ) ) - (if (logtest? (-> arg0 skel status) 128) - (set! (-> arg0 skel status) (logand -129 (-> arg0 skel status))) + (if (logtest? (-> arg0 skel status) (janim-status eye-done)) + (logclear! (-> arg0 skel status) (janim-status eye-done)) ) 0 (none) diff --git a/test/decompiler/reference/engine/load/loader_REF.gc b/test/decompiler/reference/engine/load/loader_REF.gc index b98bce1319..1fc2148813 100644 --- a/test/decompiler/reference/engine/load/loader_REF.gc +++ b/test/decompiler/reference/engine/load/loader_REF.gc @@ -807,7 +807,7 @@ (v0-39 int) (spool-part int) (sv-24 float) - (old-skel-status uint) + (old-skel-status janim-status) (sv-32 int) (sv-40 int) (sv-48 int) @@ -825,7 +825,7 @@ (set! spool-sound (new-sound-id)) (backup-load-state-and-set-cmds *load-state* (-> arg0 command-list)) (set-setting! *setting-control* self 'spooling (the-as symbol (process->ppointer self)) 0.0 0) - (logior! (-> self skel status) 7) + (logior! (-> self skel status) (janim-status inited drawn done)) (kill-current-level-hint '() '() 'die) (level-hint-surpress!) (copy-settings-from-target! *setting-control*) @@ -930,7 +930,7 @@ (set! sv-40 (the-as int (-> *display* base-frame-counter))) (until (>= (the float v0-39) f28-0) (if (= (-> self skel root-channel 0) (-> self skel channel)) - (logior! (-> self skel status) 32) + (logior! (-> self skel status) (janim-status spool)) ) (if (or (arg3 self) (and (<= sv-72 0) (>= (- (-> *display* base-frame-counter) sv-40) (seconds 4))) @@ -941,7 +941,7 @@ (spool-push *art-control* (-> arg0 name) spool-part self -20.0) (if (< (+ spool-part 1) (-> arg0 parts)) (spool-push *art-control* (-> arg0 name) (+ spool-part 1) self -10.0) - (set! (-> self skel status) (logand -5 (-> self skel status))) + (logclear! (-> self skel status) (janim-status done)) ) (execute-commands-up-to *load-state* (ja-aframe-num 0)) (cond @@ -969,7 +969,7 @@ ) (set! sv-24 f28-0) ) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) ) (else (format 0 "ERROR: ~A in spool anim loop for ~A ~D, but not loaded.~" self (-> arg0 name) spool-part) @@ -990,9 +990,9 @@ (restore-load-state-and-cleanup *load-state*) (str-play-stop (-> arg0 name)) (set! (-> *art-control* active-stream) #f) - (set! (-> self skel status) (logand -7 (-> self skel status))) - (if (zero? (logand (-> self skel status) 1)) - (set! (-> self skel status) (logand -2 (-> self skel status))) + (logclear! (-> self skel status) (janim-status drawn done)) + (if (zero? (logand (-> self skel status) (janim-status inited))) + (logclear! (-> self skel status) (janim-status inited)) ) (clear-pending-settings-from-process *setting-control* self 'spooling) (cond diff --git a/test/decompiler/reference/engine/target/logic-target_REF.gc b/test/decompiler/reference/engine/target/logic-target_REF.gc index 8020afd050..71392b3565 100644 --- a/test/decompiler/reference/engine/target/logic-target_REF.gc +++ b/test/decompiler/reference/engine/target/logic-target_REF.gc @@ -2076,7 +2076,7 @@ (set! (-> v1-79 0 param2) (the-as basic (-> self control unknown-vector12))) ) (set! (-> self draw lod-set max-lod) 0) - (logior! (-> self skel status) 257) + (logior! (-> self skel status) (janim-status inited eye)) (set! (-> self draw shadow-ctrl) *target-shadow-control*) (set! (-> self control unknown-cspace00 parent) (-> self node-list data 42)) (set! (-> self control unknown-cspace00 joint) (the-as joint (-> self node-list data 54))) diff --git a/test/decompiler/reference/engine/target/sidekick_REF.gc b/test/decompiler/reference/engine/target/sidekick_REF.gc index d7cc57ec81..313b95d8fa 100644 --- a/test/decompiler/reference/engine/target/sidekick_REF.gc +++ b/test/decompiler/reference/engine/target/sidekick_REF.gc @@ -104,12 +104,12 @@ (('blend-shape) (cond ((-> arg3 param 0) - (set! v0-0 (logior (-> self skel status) 8)) - (set! (-> self skel status) (the-as uint v0-0)) + (set! v0-0 (logior (-> self skel status) (janim-status blerc))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) (else - (set! v0-0 (logand -9 (-> self skel status))) - (set! (-> self skel status) (the-as uint v0-0)) + (set! v0-0 (logclear (-> self skel status) (janim-status blerc))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) ) v0-0 @@ -203,10 +203,10 @@ (TODO-RENAME-9 a0-26) ) ) - (if (logtest? (-> self skel status) 72) + (if (logtest? (-> self skel status) (janim-status blerc blerc-done)) (merc-blend-shape self) ) - (if (logtest? (-> self skel status) 384) + (if (logtest? (-> self skel status) (janim-status eye-done eye)) (merc-eye-anim self) ) (none) @@ -236,7 +236,7 @@ (set! (-> self draw origin-joint-index) (the-as uint 6)) (set! (-> self draw shadow-joint-index) (the-as uint 6)) (set! (-> self draw shadow-ctrl) *target-shadow-control*) - (logior! (-> self skel status) 256) + (logior! (-> self skel status) (janim-status eye)) (let ((v1-14 (-> self node-list data))) (set! (-> v1-14 0 param0) cspace<-cspace+quaternion!) (set! (-> v1-14 0 param1) (the-as basic (-> self parent-override 0 control unknown-cspace10 parent))) diff --git a/test/decompiler/reference/engine/target/target-handler_REF.gc b/test/decompiler/reference/engine/target/target-handler_REF.gc index 4dc7a37074..c4004fb1f1 100644 --- a/test/decompiler/reference/engine/target/target-handler_REF.gc +++ b/test/decompiler/reference/engine/target/target-handler_REF.gc @@ -204,8 +204,8 @@ ) ((= v1-0 'blend-shape) (if (-> arg3 param 0) - (logior! (-> self skel status) 8) - (set! (-> self skel status) (logand -9 (-> self skel status))) + (logior! (-> self skel status) (janim-status blerc)) + (logclear! (-> self skel status) (janim-status blerc)) ) (let ((v1-105 (new 'stack-no-clear 'event-message-block))) (set! (-> v1-105 from) arg0) @@ -293,12 +293,13 @@ ) ) ((= v1-0 'change-state) - enter-state - (-> arg3 param 1) - (-> arg3 param 2) - (-> arg3 param 3) - (-> arg3 param 4) - (go (the-as (state target) (-> arg3 param 0))) + (go + (the-as (state object object object object target) (-> arg3 param 0)) + (-> arg3 param 1) + (-> arg3 param 2) + (-> arg3 param 3) + (-> arg3 param 4) + ) ) ) ) @@ -1101,7 +1102,7 @@ target-standard-event-handler (set! (-> self neck flex-blend) 1.0) (set! (-> self control unknown-float91) 0.0) (logclear! (-> self draw status) (draw-status hidden)) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) (set! (-> self control status) (logand -16385 (-> self control status))) 0 (none) diff --git a/test/decompiler/reference/levels/beach/beach-obs_REF.gc b/test/decompiler/reference/levels/beach/beach-obs_REF.gc index ef72066ea1..83fe42fc34 100644 --- a/test/decompiler/reference/levels/beach/beach-obs_REF.gc +++ b/test/decompiler/reference/levels/beach/beach-obs_REF.gc @@ -130,7 +130,7 @@ (set! (-> obj root-override pause-adjust-distance) 409600.0) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *windmill-one-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj sound-id) (new-sound-id)) (go windmill-one-idle) diff --git a/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc b/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc index 2ca653b2c9..27a2c609e6 100644 --- a/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc +++ b/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc @@ -150,7 +150,7 @@ ) ) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set-vector! (-> obj cull-dir-local) 0.0 0.0 -1.0 1.0) (set! (-> obj cull-dot) (cos 5461.3335)) 0 @@ -592,7 +592,7 @@ (-> obj root-override trans) ) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (go citb-disc-idle) (none) ) @@ -811,7 +811,7 @@ ;; definition for method 26 of type citb-button (defmethod TODO-RENAME-26 citb-button ((obj citb-button)) (initialize-skeleton obj *citb-button-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (cond ((-> obj down?) diff --git a/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc b/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc index 25e7b8f84d..79bdda638d 100644 --- a/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc +++ b/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc @@ -206,7 +206,7 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-21 citb-sagecage ((obj citb-sagecage)) (initialize-skeleton obj *citb-sagecage-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj root-override pause-adjust-distance) 409600.0) (let ((f0-1 20766.72) (f4-0 14745.6) diff --git a/test/decompiler/reference/levels/citadel/citb-plat_REF.gc b/test/decompiler/reference/levels/citadel/citb-plat_REF.gc index b2bae74bb3..915144eed3 100644 --- a/test/decompiler/reference/levels/citadel/citb-plat_REF.gc +++ b/test/decompiler/reference/levels/citadel/citb-plat_REF.gc @@ -152,7 +152,7 @@ (process-drawable-from-entity! obj arg0) (set! (-> obj idle-distance) 245760.0) (dummy-22 obj) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (dummy-24 obj) (none) ) diff --git a/test/decompiler/reference/levels/common/basebutton_REF.gc b/test/decompiler/reference/levels/common/basebutton_REF.gc index b118648690..a28cc018fc 100644 --- a/test/decompiler/reference/levels/common/basebutton_REF.gc +++ b/test/decompiler/reference/levels/common/basebutton_REF.gc @@ -384,7 +384,7 @@ ;; definition for method 26 of type basebutton (defmethod TODO-RENAME-26 basebutton ((obj basebutton)) (initialize-skeleton obj *generic-button-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (cond ((-> obj down?) diff --git a/test/decompiler/reference/levels/common/baseplat_REF.gc b/test/decompiler/reference/levels/common/baseplat_REF.gc index 7204edff80..d08a43d82a 100644 --- a/test/decompiler/reference/levels/common/baseplat_REF.gc +++ b/test/decompiler/reference/levels/common/baseplat_REF.gc @@ -38,7 +38,7 @@ ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defmethod dummy-21 baseplat ((obj baseplat)) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj basetrans quad) (-> obj root-override trans quad)) (set! (-> obj bouncing) #f) 0 diff --git a/test/decompiler/reference/levels/common/joint-exploder_REF.gc b/test/decompiler/reference/levels/common/joint-exploder_REF.gc index 7c6c98e622..5280ae892c 100644 --- a/test/decompiler/reference/levels/common/joint-exploder_REF.gc +++ b/test/decompiler/reference/levels/common/joint-exploder_REF.gc @@ -750,7 +750,7 @@ (quaternion-copy! (-> self root quat) (-> self parent-override 0 root quat)) (set! (-> self root scale quad) (-> self parent-override 0 root scale quad)) (initialize-skeleton self arg0 '()) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (set! (-> self anim) (the-as art-joint-anim (-> self draw art-group data arg1))) (ja-channel-set! 1) (let ((gp-1 (-> self skel root-channel 0))) diff --git a/test/decompiler/reference/levels/common/orb-cache_REF.gc b/test/decompiler/reference/levels/common/orb-cache_REF.gc index 6efb1fb5b0..8c9651bcf7 100644 --- a/test/decompiler/reference/levels/common/orb-cache_REF.gc +++ b/test/decompiler/reference/levels/common/orb-cache_REF.gc @@ -392,7 +392,7 @@ (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (initialize-skeleton obj *orb-cache-top-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (dummy-21 obj) (set! (-> obj money) (res-lump-value (-> obj entity) 'orb-cache-count int :default (the-as uint128 20))) diff --git a/test/decompiler/reference/levels/common/plat-button_REF.gc b/test/decompiler/reference/levels/common/plat-button_REF.gc index 47be8289ef..3a429e3a95 100644 --- a/test/decompiler/reference/levels/common/plat-button_REF.gc +++ b/test/decompiler/reference/levels/common/plat-button_REF.gc @@ -545,7 +545,7 @@ (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (TODO-RENAME-31 obj) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj spawn-pos quad) (-> obj root-override trans quad)) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) diff --git a/test/decompiler/reference/levels/common/plat_REF.gc b/test/decompiler/reference/levels/common/plat_REF.gc index daf31d0919..29265a1ce0 100644 --- a/test/decompiler/reference/levels/common/plat_REF.gc +++ b/test/decompiler/reference/levels/common/plat_REF.gc @@ -301,7 +301,7 @@ (dummy-24 obj) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj (get-unlit-skel obj) '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (dummy-21 obj) (TODO-RENAME-25 obj) diff --git a/test/decompiler/reference/levels/common/rigid-body_REF.gc b/test/decompiler/reference/levels/common/rigid-body_REF.gc index 8210e1089e..5bdc34e25b 100644 --- a/test/decompiler/reference/levels/common/rigid-body_REF.gc +++ b/test/decompiler/reference/levels/common/rigid-body_REF.gc @@ -768,7 +768,7 @@ (set! (-> obj control-point-array) (new 'process 'rigid-body-control-point-inline-array (-> obj info control-point-count)) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-overlay)) (set-vector! (-> obj rbody cm-offset-joint) diff --git a/test/decompiler/reference/levels/common/ropebridge_REF.gc b/test/decompiler/reference/levels/common/ropebridge_REF.gc index b7c1b9265a..c853354dcd 100644 --- a/test/decompiler/reference/levels/common/ropebridge_REF.gc +++ b/test/decompiler/reference/levels/common/ropebridge_REF.gc @@ -1132,7 +1132,7 @@ (add-collision-meshes obj) (process-drawable-from-entity! obj arg0) (initialize-skeleton-by-name obj (-> obj subtype-name) '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (let ((v1-29 (-> obj tuning))) (set! (-> obj draw bounds w) (-> v1-29 view-frustum-radius)) (set! (-> obj sleep-dist) (+ 40960.0 (* 0.5 (-> v1-29 bridge-end-to-end-len)))) diff --git a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc index 001191f87c..c325a635c6 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc @@ -536,7 +536,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *silodoor-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj root pause-adjust-distance) 1228800.0) (set! (-> obj sound) (new 'process diff --git a/test/decompiler/reference/levels/finalboss/robotboss_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss_REF.gc index 4de9de8d5e..a793375441 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss_REF.gc @@ -40,7 +40,7 @@ (if (and *target* (logtest? (-> *target* state-flags) 256)) (process-release? *target*) ) - (set! (-> self skel status) (logand -2 (-> self skel status))) + (logclear! (-> self skel status) (janim-status inited)) (set! (-> self skip-cut) #f) (none) ) @@ -69,7 +69,7 @@ (set! (-> self skip-cut) #t) ) (else - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (process-grab? *target*) (set! (-> *camera-other-root* quad) (-> self root-override trans quad)) (let ((s5-1 (-> self node-list data 88 bone transform)) diff --git a/test/decompiler/reference/levels/flut_common/flutflut_REF.gc b/test/decompiler/reference/levels/flut_common/flutflut_REF.gc index 59eaa55ad6..b8f442bb63 100644 --- a/test/decompiler/reference/levels/flut_common/flutflut_REF.gc +++ b/test/decompiler/reference/levels/flut_common/flutflut_REF.gc @@ -389,7 +389,7 @@ (process-drawable-from-entity! obj arg0) (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (res-lump-float arg0 'rotoffset)) (initialize-skeleton obj *flutflut-sg* '()) - (logior! (-> obj skel status) 256) + (logior! (-> obj skel status) (janim-status eye)) (set! (-> obj draw shadow-ctrl) *flutflut-shadow-control*) (let ((v1-24 (-> obj node-list data))) (set! (-> v1-24 0 param0) cspace<-transformq+trans!) diff --git a/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc b/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc index 46dee0f2b2..fe01798b50 100644 --- a/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc +++ b/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc @@ -317,7 +317,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *lurkerm-tall-sail-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj alt-actor) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (set! (-> obj speed) 1.0) @@ -462,7 +462,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *lurkerm-short-sail-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj alt-actor) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (set! (-> obj speed) 1.0) @@ -591,7 +591,7 @@ (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (initialize-skeleton obj *lurkerm-piston-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj base quad) (-> obj root-override trans quad)) (let ((f30-0 (-> obj base y))) @@ -1274,7 +1274,7 @@ (process-drawable-from-entity! obj arg0) (set-vector! (-> obj activation-point) 1765785.6 61440.0 -1279180.8 1.0) (initialize-skeleton obj *precurbridge-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-post) (update-transforms! (-> obj root-override)) (set! (-> obj base quad) (-> obj root-override trans quad)) diff --git a/test/decompiler/reference/levels/jungle/junglesnake_REF.gc b/test/decompiler/reference/levels/jungle/junglesnake_REF.gc index a3183c8a8d..5ad287d246 100644 --- a/test/decompiler/reference/levels/jungle/junglesnake_REF.gc +++ b/test/decompiler/reference/levels/jungle/junglesnake_REF.gc @@ -963,7 +963,7 @@ junglesnake-default-event-handler (quaternion-identity! (-> obj root-override quat)) (dummy-22 obj (-> obj ry)) (dummy-21 obj) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (go junglesnake-sleeping) (none) ) diff --git a/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc b/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc index 4798954d11..02fa37c1f7 100644 --- a/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc +++ b/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc @@ -399,7 +399,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *eggtop-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 189) obj)) (set! (-> obj sound-id) (new-sound-id)) diff --git a/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc b/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc index 8a88427cc9..68233674c9 100644 --- a/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc +++ b/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc @@ -2184,7 +2184,7 @@ plant-boss-generic-event-handler :exit (behavior () - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) (let ((a0-4 (handle->process (-> self camera)))) (if a0-4 (deactivate a0-4) @@ -2206,7 +2206,7 @@ (gp-0 0) ) (send-event *camera* 'change-state cam-lookat 0) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (ja-channel-push! 2 30) (let ((s5-0 (-> self skel root-channel 0))) (joint-control-channel-group-eval! @@ -2242,7 +2242,7 @@ ) ) ) - (logior! (-> self skel status) 32) + (logior! (-> self skel status) (janim-status spool)) (ambient-hint-spawn "gamcam29" (the-as vector #f) *entity-pool* 'ambient) ) (when (and (>= (ja-aframe-num 0) 236.0) (= gp-0 1)) @@ -2288,7 +2288,7 @@ ) ) (send-event *target* 'end-mode) - (set! (-> self skel status) (logand -2 (-> self skel status))) + (logclear! (-> self skel status) (janim-status inited)) (go plant-boss-idle) (none) ) diff --git a/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc b/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc index 55fe3563e5..a269260c8f 100644 --- a/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc +++ b/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc @@ -182,7 +182,7 @@ (process-drawable-from-entity! obj arg0) (set! (-> obj base-pos quad) (-> obj root-override trans quad)) (initialize-skeleton obj *plat-flip-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (let ((f30-0 300.0)) (set! sv-16 (new 'static 'res-tag)) (let ((v1-28 (res-lump-data arg0 'delay pointer :tag-ptr (& sv-16)))) diff --git a/test/decompiler/reference/levels/maincave/gnawer_REF.gc b/test/decompiler/reference/levels/maincave/gnawer_REF.gc index 966365d9bb..f3cb2e0684 100644 --- a/test/decompiler/reference/levels/maincave/gnawer_REF.gc +++ b/test/decompiler/reference/levels/maincave/gnawer_REF.gc @@ -1915,7 +1915,7 @@ (+! (-> a0-59 anim-to-local-trans-offset z) (* 5447.68 (the float v1-110))) ) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj link) (new 'process 'actor-link-info obj)) (set! (-> obj gnawer-id) (+ (actor-count-before (-> obj link)) 1)) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) diff --git a/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc b/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc index e4e1d403d2..b6d4a6cc74 100644 --- a/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc +++ b/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc @@ -990,7 +990,7 @@ ) ) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (load-params! (-> obj sync) obj (the-as uint 3000) 0.0 0.15 0.15) (ja-post) (update-transforms! (-> obj root-override)) @@ -1088,7 +1088,7 @@ (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *cavespatulatwo-sg* '()) (logclear! (-> obj mask) (process-mask actor-pause)) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (load-params! (-> obj sync) obj (the-as uint 3000) 0.0 0.15 0.15) (ja-channel-push! 1 0) (let ((s5-1 (-> obj skel root-channel 0))) @@ -1572,7 +1572,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *caveelevator-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj skel postbind-function) caveelevator-joint-callback) (set! sv-16 (new 'static 'res-tag)) (let ((v1-28 (res-lump-data arg0 'trans-offset (pointer float) :tag-ptr (& sv-16)))) diff --git a/test/decompiler/reference/levels/maincave/mother-spider_REF.gc b/test/decompiler/reference/levels/maincave/mother-spider_REF.gc index b5e270d5ae..48075121c7 100644 --- a/test/decompiler/reference/levels/maincave/mother-spider_REF.gc +++ b/test/decompiler/reference/levels/maincave/mother-spider_REF.gc @@ -2161,7 +2161,7 @@ ) (set! (-> obj draw shadow-ctrl) (new 'process 'shadow-control 0.0 0.0 4096000.0 (the-as float 60) 245760.0)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 618) obj)) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (let ((v0-30 (new 'process 'joint-mod (joint-mod-handler-mode reset) obj 19))) (set! (-> obj neck) v0-30) (set-vector! (-> obj neck twist-max) 8192.0 8192.0 0.0 1.0) diff --git a/test/decompiler/reference/levels/misty/mistycannon_REF.gc b/test/decompiler/reference/levels/misty/mistycannon_REF.gc index da7960e084..44f4914c24 100644 --- a/test/decompiler/reference/levels/misty/mistycannon_REF.gc +++ b/test/decompiler/reference/levels/misty/mistycannon_REF.gc @@ -2050,7 +2050,7 @@ (process-drawable-from-entity! obj arg0) (quaternion-identity! (-> obj root-override quat)) (initialize-skeleton obj *mistycannon-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (set! (-> obj skel prebind-function) (the-as (function pointer int process-drawable none) mistycannon-prebind-function) diff --git a/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc b/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc index d53e7e6dee..8640f0a8cf 100644 --- a/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc +++ b/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc @@ -941,9 +941,9 @@ (let ((v1-23 (-> obj skel root-channel 0))) (set! (-> v1-23 frame-group) (the-as art-joint-anim (-> obj draw art-group data 4))) ) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-post) - (set! (-> obj skel status) (logand -2 (-> obj skel status))) + (logclear! (-> obj skel status) (janim-status inited)) (vector<-cspace! s5-1 (-> obj node-list data 25)) (birth-pickup-at-point s5-1 (pickup-type fuel-cell) 55.0 #f obj (the-as fact-info #f)) ) diff --git a/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc b/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc index 49534cd81a..1f069c46c5 100644 --- a/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc @@ -502,7 +502,7 @@ (process-drawable-from-entity! obj arg0) (set! (-> obj link) (new 'process 'actor-link-info obj)) (initialize-skeleton obj *snow-button-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj timeout) (the-as time-frame (the int (* 300.0 (res-lump-float arg0 'timeout :default 10.0))))) (set! (-> obj delay-til-wiggle) (+ (-> obj timeout) (seconds -0.4))) (if (> (entity-actor-count arg0 'alt-actor) 0) diff --git a/test/decompiler/reference/levels/snow/snow-obs_REF.gc b/test/decompiler/reference/levels/snow/snow-obs_REF.gc index e02aa497bc..0a80ae234c 100644 --- a/test/decompiler/reference/levels/snow/snow-obs_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-obs_REF.gc @@ -624,7 +624,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *snow-eggtop-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj spawn-trans quad) (-> obj root-override trans quad)) (set! (-> obj root-override trans y) (+ -2662.4 (-> obj root-override trans y))) (update-transforms! (-> obj root-override)) @@ -947,7 +947,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *snow-spatula-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.15 0.15) (quaternion->matrix (-> obj startmat) (-> obj root-override quat)) (dummy-21 obj) @@ -1923,7 +1923,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *snow-switch-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-push! 1 0) (let ((s5-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! @@ -2224,7 +2224,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *snow-log-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (logior! (-> obj draw status) (draw-status hidden)) (set! (-> obj root-override trans x) (+ -1024.0 (-> obj root-override trans x))) (set! (-> obj root-override trans y) (+ -4915.2 (-> obj root-override trans y))) @@ -2403,7 +2403,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *snow-switch-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-push! 1 0) (let ((s4-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! diff --git a/test/decompiler/reference/levels/snow/snow-ram_REF.gc b/test/decompiler/reference/levels/snow/snow-ram_REF.gc index e2ba120392..6f5d5592e7 100644 --- a/test/decompiler/reference/levels/snow/snow-ram_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-ram_REF.gc @@ -477,7 +477,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *ram-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-post) (update-transforms! (-> obj root-override)) (set! (-> obj orient-ry) (quaternion-y-angle (-> obj root-override quat))) diff --git a/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc b/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc index 121a3e1dc3..74b1dfbb65 100644 --- a/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc +++ b/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc @@ -156,7 +156,7 @@ ) ) (initialize-skeleton obj *floating-launcher-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (dummy-21 obj) (set! (-> obj trigger-height) (res-lump-float arg0 'trigger-height)) diff --git a/test/decompiler/reference/levels/sunken/helix-water_REF.gc b/test/decompiler/reference/levels/sunken/helix-water_REF.gc index c92d3c4c69..88bd38bc84 100644 --- a/test/decompiler/reference/levels/sunken/helix-water_REF.gc +++ b/test/decompiler/reference/levels/sunken/helix-water_REF.gc @@ -262,7 +262,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *helix-slide-door-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (let ((s5-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! @@ -632,7 +632,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *helix-button-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (let ((s5-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! diff --git a/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc b/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc index f19dd657ca..95433dd76d 100644 --- a/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc @@ -960,7 +960,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *orbit-plat-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! diff --git a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc index 2ca1d74456..ace3128bfa 100644 --- a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc @@ -196,7 +196,7 @@ (quaternion-copy! (-> self root-overlay quat) (-> arg1 root-overlay quat)) (set! (-> self root-overlay scale quad) (-> arg1 root-overlay scale quad)) (initialize-skeleton self *qbert-plat-on-sg* '()) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (ja-channel-set! 1) (let ((gp-1 (-> self skel root-channel 0))) (joint-control-channel-group-eval! @@ -408,7 +408,7 @@ (defmethod TODO-RENAME-31 qbert-plat ((obj qbert-plat)) (initialize-skeleton obj *qbert-plat-sg* '()) (set! (-> obj anchor-point quad) (-> obj root-overlay trans quad)) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-overlay)) (TODO-RENAME-29 obj *qbert-plat-constants*) (set! (-> obj float-height-offset) 6144.0) diff --git a/test/decompiler/reference/levels/sunken/steam-cap_REF.gc b/test/decompiler/reference/levels/sunken/steam-cap_REF.gc index 2f80d72d5e..3138cc7a52 100644 --- a/test/decompiler/reference/levels/sunken/steam-cap_REF.gc +++ b/test/decompiler/reference/levels/sunken/steam-cap_REF.gc @@ -786,7 +786,7 @@ (set! (-> obj do-landing-sound?) #f) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *steam-cap-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! diff --git a/test/decompiler/reference/levels/sunken/sun-exit-chamber_REF.gc b/test/decompiler/reference/levels/sunken/sun-exit-chamber_REF.gc index 3fd247a3a8..d80ec64280 100644 --- a/test/decompiler/reference/levels/sunken/sun-exit-chamber_REF.gc +++ b/test/decompiler/reference/levels/sunken/sun-exit-chamber_REF.gc @@ -1434,7 +1434,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *exit-chamber-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (logclear! (-> obj mask) (process-mask actor-pause)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 620) obj)) (ja-channel-set! 1) diff --git a/test/decompiler/reference/levels/sunken/wall-plat_REF.gc b/test/decompiler/reference/levels/sunken/wall-plat_REF.gc index 8a53ac405c..c2826ddd49 100644 --- a/test/decompiler/reference/levels/sunken/wall-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/wall-plat_REF.gc @@ -258,7 +258,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *wall-plat-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (set! (-> obj use-sync?) (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.2 0.2)) (let ((f30-0 (quaternion-y-angle (-> obj root-override quat))) (s4-1 (new 'stack-no-clear 'vector)) diff --git a/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc b/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc index 84f200cf61..f492fb0d30 100644 --- a/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc +++ b/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc @@ -281,7 +281,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *wedge-plat-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (dummy-21 obj) (set! (-> obj master) (the-as wedge-plat-master (entity-actor-lookup arg0 'alt-actor 0))) @@ -498,7 +498,7 @@ ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *wedge-plat-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (update-transforms! (-> obj root-override)) (dummy-21 obj) (set! (-> obj master) (the-as wedge-plat-master (entity-actor-lookup arg0 'alt-actor 0))) diff --git a/test/decompiler/reference/levels/title/title-obs_REF.gc b/test/decompiler/reference/levels/title/title-obs_REF.gc index 1d866ec8b9..fbdcd9044e 100644 --- a/test/decompiler/reference/levels/title/title-obs_REF.gc +++ b/test/decompiler/reference/levels/title/title-obs_REF.gc @@ -177,12 +177,12 @@ ((= v1-0 'blend-shape) (cond ((-> arg3 param 0) - (set! v0-0 (logior (-> self skel status) 264)) - (set! (-> self skel status) v0-0) + (set! v0-0 (the-as uint (logior (-> self skel status) (janim-status blerc eye)))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) (else - (set! v0-0 (logand (the-as uint -265) (-> self skel status))) - (set! (-> self skel status) v0-0) + (set! v0-0 (the-as uint (logclear (-> self skel status) (janim-status blerc eye)))) + (set! (-> self skel status) (the-as janim-status v0-0)) ) ) v0-0 @@ -226,7 +226,7 @@ (set! (-> self entity) arg0) (set! (-> self root) (new 'process 'trsqv)) (initialize-skeleton self arg1 '()) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (set! (-> self draw origin-joint-index) (the-as uint 3)) (set! (-> self draw shadow-mask) (the-as uint 255)) (set! (-> self draw global-effect) (draw-effect title)) @@ -413,7 +413,7 @@ (joint-control-channel-group! a0-60 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) ) (until (ja-done? 0) - (logior! (-> self skel status) 32) + (logior! (-> self skel status) (janim-status spool)) (suspend) (let ((a0-62 (-> self skel root-channel 0))) (set! (-> a0-62 param 0) (the float (+ (-> a0-62 frame-group data 0 length) -1))) @@ -531,7 +531,7 @@ (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) ) (until (ja-done? 0) - (logior! (-> self skel status) 32) + (logior! (-> self skel status) (janim-status spool)) (suspend) (let ((a0-13 (-> self skel root-channel 0))) (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) @@ -817,7 +817,7 @@ ) ) ) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (set! (-> self draw global-effect) (draw-effect title)) (set! (-> self draw shadow-mask) (the-as uint 255)) (set! (-> self camera) (the-as handle #f)) diff --git a/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc b/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc index 1f9234d757..ca5c436f89 100644 --- a/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc +++ b/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc @@ -1520,7 +1520,7 @@ (defmethod TODO-RENAME-31 fishermans-boat ((obj fishermans-boat)) (initialize-skeleton obj *fishermans-boat-sg* '()) (logclear! (-> obj mask) (process-mask actor-pause movie)) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (process-entity-status! obj (entity-perm-status bit-3) #t) (process-entity-status! obj (entity-perm-status bit-7) #t) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) diff --git a/test/decompiler/reference/levels/village2/village2-obs_REF.gc b/test/decompiler/reference/levels/village2/village2-obs_REF.gc index 2f3471719c..ce87eb72a6 100644 --- a/test/decompiler/reference/levels/village2/village2-obs_REF.gc +++ b/test/decompiler/reference/levels/village2/village2-obs_REF.gc @@ -800,9 +800,9 @@ (logclear! (-> self draw status) (draw-status hidden)) (set! (-> self root-override trans quad) (-> self entity extra trans quad)) (vector-reset! (-> self draw origin)) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (ja-post) - (set! (-> self skel status) (logand -2 (-> self skel status))) + (logclear! (-> self skel status) (janim-status inited)) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 4)) (vector-! (-> self draw bounds) gp-0 (-> self root-override trans)) @@ -888,7 +888,7 @@ :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) - (set! (-> self skel status) (logand -33 (-> self skel status))) + (logclear! (-> self skel status) (janim-status spool)) (none) ) :trans diff --git a/test/decompiler/reference/levels/village3/minecart_REF.gc b/test/decompiler/reference/levels/village3/minecart_REF.gc index fef7024172..1e5fc1c1f7 100644 --- a/test/decompiler/reference/levels/village3/minecart_REF.gc +++ b/test/decompiler/reference/levels/village3/minecart_REF.gc @@ -120,7 +120,7 @@ (quaternion-identity! (-> self root-override quat)) (initialize-skeleton self *minecartsteel-sg* '()) (set! (-> self draw origin-joint-index) (the-as uint 3)) - (logior! (-> self skel status) 1) + (logior! (-> self skel status) (janim-status inited)) (load-params! (-> self sync) self (the-as uint 9000) arg1 0.15 0.15) (set! (-> self sound) (new 'process diff --git a/test/decompiler/reference/levels/village_common/villagep-obs_REF.gc b/test/decompiler/reference/levels/village_common/villagep-obs_REF.gc index 0757357641..fd7718b022 100644 --- a/test/decompiler/reference/levels/village_common/villagep-obs_REF.gc +++ b/test/decompiler/reference/levels/village_common/villagep-obs_REF.gc @@ -633,7 +633,7 @@ ) ) (initialize-skeleton obj *warp-gate-switch-sg* '()) - (logior! (-> obj skel status) 1) + (logior! (-> obj skel status) (janim-status inited)) (ja-channel-set! 1) (cond ((-> obj down?)