fix missing bitfield (#811)

This commit is contained in:
water111
2021-09-01 21:02:16 -04:00
committed by GitHub
parent 9b0480c50d
commit 4616f436f1
14 changed files with 94 additions and 52 deletions
+1 -1
View File
@@ -680,7 +680,7 @@
(format stream-2 "ERROR: dma-list data pointer invalid~%")
(set! end-condition 'error)
)
(when (logtest? #x3ff0000 current-tag)
(when (logtest? (the-as dma-tag #x3ff0000) current-tag)
(format stream-2 "ERROR: dma tag has data in reserved bits ~X~%")
(set! end-condition 'error)
)
+8 -2
View File
@@ -25,7 +25,10 @@
)
(dotimes (s2-0 (the-as int (-> fp-data shader-cnt)))
(cond
((and eye-ctrl (= (logand -256 (-> shader texture-id)) #x1cf06f00))
((and
eye-ctrl
(= (logand (the-as texture-id -256) (-> shader texture-id)) #x1cf06f00)
)
(adgif-shader-login shader)
(let ((eye-tex-block (get-eye-block (-> eye-ctrl eye-slot) 0)))
(set! (-> shader tex0 tbp0) eye-tex-block)
@@ -46,7 +49,10 @@
)
)
)
((and eye-ctrl (= (logand -256 (-> shader texture-id)) #x1cf07000))
((and
eye-ctrl
(= (logand (the-as texture-id -256) (-> shader texture-id)) #x1cf07000)
)
(adgif-shader-login shader)
(let ((eye-tex-block-2 (get-eye-block (-> eye-ctrl eye-slot) 1)))
(set! (-> shader tex0 tbp0) eye-tex-block-2)
+3 -1
View File
@@ -589,7 +589,9 @@
(table-data-start (-> bsp-hdr texture-remap-table))
(table-data-ptr table-data-start)
(mask1 (the-as uint #xfffffff8))
(masked-tex-id (logand (the-as uint #xffffff00) tex-id))
(masked-tex-id
(logand (new 'static 'texture-id :index #xfff :page #xfff) tex-id)
)
(table-data-end (&+ table-data-ptr (* table-size 8)))
)
(label cfg-2)
+9 -9
View File
@@ -203,31 +203,31 @@
;; definition (debug) for function stream<-process-mask
(defun-debug stream<-process-mask ((arg0 object) (arg1 process-mask))
(let ((s4-0 arg1))
(if (= (logand #x1000000 s4-0) (process-mask death))
(if (= (logand (process-mask death) s4-0) (process-mask death))
(format arg0 "death ")
)
(if (= (logand #x800000 s4-0) (process-mask attackable))
(if (= (logand (process-mask attackable) s4-0) (process-mask attackable))
(format arg0 "attackable ")
)
(if (= (logand #x400000 s4-0) (process-mask projectile))
(if (= (logand (process-mask projectile) s4-0) (process-mask projectile))
(format arg0 "projectile ")
)
(if (= (logand #x200000 s4-0) (process-mask entity))
(if (= (logand (process-mask entity) s4-0) (process-mask entity))
(format arg0 "entity ")
)
(if (= (logand #x100000 s4-0) (process-mask ambient))
(if (= (logand (process-mask ambient) s4-0) (process-mask ambient))
(format arg0 "ambient ")
)
(if (= (logand #x80000 s4-0) (process-mask platform))
(if (= (logand (process-mask platform) s4-0) (process-mask platform))
(format arg0 "platform ")
)
(if (= (logand #x40000 s4-0) (process-mask camera))
(if (= (logand (process-mask camera) s4-0) (process-mask camera))
(format arg0 "camera ")
)
(if (= (logand #x20000 s4-0) (process-mask enemy))
(if (= (logand (process-mask enemy) s4-0) (process-mask enemy))
(format arg0 "enemy ")
)
(if (= (logand #x10000 s4-0) (process-mask collectable))
(if (= (logand (process-mask collectable) s4-0) (process-mask collectable))
(format arg0 "collectable ")
)
(if (= (logand s4-0 (process-mask crate)) (process-mask crate))
+19 -10
View File
@@ -450,7 +450,7 @@ nav-enemy-default-event-handler
(if
(or
(logtest? (-> obj nav-enemy-flags) 128)
(logtest? #x80000 (-> obj nav flags))
(logtest? (nav-control-flags bit19) (-> obj nav flags))
)
(seek-to-point-toward-point!
(-> obj collide-info)
@@ -527,7 +527,10 @@ nav-enemy-default-event-handler
;; INFO: Return type mismatch int vs none.
(defbehavior nav-enemy-patrol-post nav-enemy ()
(when
(or (logtest? #x80000 (-> self nav flags)) (< 2.0 (-> self nav block-count)))
(or
(logtest? (nav-control-flags bit19) (-> self nav flags))
(< 2.0 (-> self nav block-count))
)
(set! (-> self nav block-count) 2.0)
(logior! (-> self nav flags) (nav-control-flags bit10))
(nav-enemy-get-new-patrol-point)
@@ -539,7 +542,7 @@ nav-enemy-default-event-handler
(-> self nav destination-pos)
(-> self rotate-speed)
)
(if (logtest? #x200000 (-> self nav flags))
(if (logtest? (nav-control-flags bit21) (-> self nav flags))
(logclear! (-> self nav flags) (nav-control-flags bit10))
)
(nav-enemy-travel-post)
@@ -1190,7 +1193,10 @@ nav-enemy-default-event-handler
)
(set!
(-> self nav flags)
(the-as nav-control-flags (the-as int (logior #x80000 (-> self nav flags))))
(the-as
nav-control-flags
(the-as int (logior (nav-control-flags bit19) (-> self nav flags)))
)
)
(set! (-> self nav-enemy-flags) (logand -5 (-> self nav-enemy-flags)))
(logior! (-> self nav-enemy-flags) 8)
@@ -1886,7 +1892,7 @@ nav-enemy-default-event-handler
(go-virtual nav-enemy-stop-chase)
)
(cond
((logtest? #x20000 (-> self nav flags))
((logtest? (nav-control-flags bit17) (-> self nav flags))
(if (>= (- (-> *display* base-frame-counter) (-> self free-time)) 300)
(go-virtual nav-enemy-patrol)
)
@@ -2001,7 +2007,7 @@ nav-enemy-default-event-handler
)
)
)
(logtest? #x20000 (-> self nav flags))
(logtest? (nav-control-flags bit17) (-> self nav flags))
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(-> self state-timeout)
@@ -2160,7 +2166,7 @@ nav-enemy-default-event-handler
)
)
)
(logtest? #x20000 (-> self nav flags))
(logtest? (nav-control-flags bit17) (-> self nav flags))
)
(go-virtual nav-enemy-give-up)
)
@@ -2811,7 +2817,7 @@ nav-enemy-default-event-handler
(if
(or
(logtest? (-> self nav-enemy-flags) 128)
(logtest? #x80000 (-> self nav flags))
(logtest? (nav-control-flags bit19) (-> self nav flags))
)
(seek-to-point-toward-point!
(-> self collide-info)
@@ -2876,7 +2882,7 @@ nav-enemy-default-event-handler
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
150
)
(logtest? #x80000 (-> self nav flags))
(logtest? (nav-control-flags bit19) (-> self nav flags))
)
(go-virtual nav-enemy-chase)
)
@@ -3101,7 +3107,10 @@ nav-enemy-default-event-handler
(defmethod TODO-RENAME-45 nav-enemy ((obj nav-enemy) (arg0 nav-enemy-info))
(set! (-> obj rand-gen) (new 'process 'random-generator))
(set! (-> obj rand-gen seed) (the-as uint #x666edd1e))
(set! (-> obj mask) (the-as process-mask (logior #x20000 (-> obj mask))))
(set!
(-> obj mask)
(the-as process-mask (logior (process-mask enemy) (-> obj mask)))
)
(TODO-RENAME-49 obj arg0)
(if (-> obj draw shadow)
(set!
+1 -1
View File
@@ -1191,7 +1191,7 @@
copy-defaults!
rigid-body-platform
((obj rigid-body-platform) (arg0 res-lump))
(set! (-> obj mask) (the-as process-mask (logior #x80000 (-> obj mask))))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(TODO-RENAME-30 obj)
(process-drawable-from-entity! obj arg0)
(TODO-RENAME-31 obj)
@@ -77,6 +77,7 @@
)
;; definition for function misty-camera-view
;; INFO: Return type mismatch int vs handle.
(defbehavior misty-camera-view silostep ()
(let* ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))
(v1-1 (when gp-0
@@ -116,11 +117,14 @@
)
)
(v0-3
(logior (shl (-> v1-1 0 pid) 32) (new 'static 'handle :process v1-1))
(logior
(new 'static 'handle :pid (-> v1-1 0 pid))
(new 'static 'handle :process v1-1)
)
)
)
(set! (-> self cam-tracker) (the-as uint v0-3))
v0-3
(the-as handle v0-3)
)
)