mirror of
https://github.com/open-goal/jak-project
synced 2026-09-08 11:56:11 -04:00
[decompiler] Several small fixes (#775)
* fix assorted bugs * stricter return types * only look for functions in code files
This commit is contained in:
+1
-1
@@ -65,7 +65,7 @@
|
||||
((and
|
||||
(-> obj draw shadow)
|
||||
(zero? (-> obj draw cur-lod))
|
||||
(nonzero? (logand (-> obj draw status) 8))
|
||||
(logtest? (-> obj draw status) 8)
|
||||
)
|
||||
(let ((v1-9 (-> obj draw shadow-ctrl)))
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@
|
||||
((and
|
||||
(-> obj draw shadow)
|
||||
(zero? (-> obj draw cur-lod))
|
||||
(nonzero? (logand (-> obj draw status) 8))
|
||||
(logtest? (-> obj draw status) 8)
|
||||
)
|
||||
(let ((v1-9 (-> obj draw shadow-ctrl)))
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@
|
||||
((and
|
||||
(-> obj draw shadow)
|
||||
(zero? (-> obj draw cur-lod))
|
||||
(nonzero? (logand (-> obj draw status) 8))
|
||||
(logtest? (-> obj draw status) 8)
|
||||
)
|
||||
(let ((v1-9 (-> obj draw shadow-ctrl)))
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
|
||||
+19
-29
@@ -131,11 +131,7 @@
|
||||
obj
|
||||
)
|
||||
)
|
||||
(if
|
||||
(and
|
||||
(nonzero? (-> obj neck))
|
||||
(nonzero? (logand (-> obj nav-enemy-flags) #x4000))
|
||||
)
|
||||
(if (and (nonzero? (-> obj neck)) (logtest? (-> obj nav-enemy-flags) #x4000))
|
||||
(set-target!
|
||||
(-> obj neck)
|
||||
(target-pos (-> obj nav-info player-look-at-joint))
|
||||
@@ -259,10 +255,11 @@
|
||||
(set! (-> a1-1 mode) arg2)
|
||||
(set! (-> v1-0 param 1) (the-as uint a1-1))
|
||||
)
|
||||
(when (send-event-function arg0 v1-0)
|
||||
(dummy-54 (-> self collide-info) 2 0)
|
||||
(logior! (-> self nav-enemy-flags) 256)
|
||||
#t
|
||||
(the-as object (when (send-event-function arg0 v1-0)
|
||||
(dummy-54 (-> self collide-info) 2 0)
|
||||
(logior! (-> self nav-enemy-flags) 256)
|
||||
#t
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -456,7 +453,7 @@ nav-enemy-default-event-handler
|
||||
(if
|
||||
(or
|
||||
(logtest? (-> obj nav-enemy-flags) 128)
|
||||
(nonzero? (logand #x80000 (-> obj nav flags)))
|
||||
(logtest? #x80000 (-> obj nav flags))
|
||||
)
|
||||
(seek-to-point-toward-point!
|
||||
(-> obj collide-info)
|
||||
@@ -487,7 +484,7 @@ nav-enemy-default-event-handler
|
||||
8192.0
|
||||
#f
|
||||
(-> obj nav-info hover-if-no-ground)
|
||||
(nonzero? (logand (-> obj nav-enemy-flags) #x8000))
|
||||
(logtest? (-> obj nav-enemy-flags) #x8000)
|
||||
)
|
||||
(dummy-58 (-> obj collide-info) (-> obj collide-info transv))
|
||||
)
|
||||
@@ -600,7 +597,7 @@ nav-enemy-default-event-handler
|
||||
;; definition for function nav-enemy-face-player-post
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior nav-enemy-face-player-post nav-enemy ()
|
||||
(if (and *target* (nonzero? (logand (-> self nav-enemy-flags) 16)))
|
||||
(if (and *target* (logtest? (-> self nav-enemy-flags) 16))
|
||||
(seek-to-point-toward-point!
|
||||
(-> self collide-info)
|
||||
(target-pos 0)
|
||||
@@ -660,10 +657,7 @@ nav-enemy-default-event-handler
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior nav-enemy-neck-control-inactive nav-enemy ()
|
||||
(when
|
||||
(and
|
||||
(nonzero? (-> self neck))
|
||||
(nonzero? (logand (-> self nav-enemy-flags) #x4000))
|
||||
)
|
||||
(and (nonzero? (-> self neck)) (logtest? (-> self nav-enemy-flags) #x4000))
|
||||
(set! (-> self nav-enemy-flags) (logand -16385 (-> self nav-enemy-flags)))
|
||||
(shut-down! (-> self neck))
|
||||
)
|
||||
@@ -1087,7 +1081,7 @@ nav-enemy-default-event-handler
|
||||
(nonzero? (-> obj skel))
|
||||
(!= (-> obj skel root-channel 0) (-> obj skel channel))
|
||||
)
|
||||
(and (nonzero? (-> obj draw)) (nonzero? (logand (-> obj draw status) 16)))
|
||||
(and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) 16))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1139,7 +1133,7 @@ nav-enemy-default-event-handler
|
||||
(the-as int (-> self state-timeout))
|
||||
)
|
||||
(nonzero? (-> self draw))
|
||||
(nonzero? (logand (-> self draw status) 8))
|
||||
(logtest? (-> self draw status) 8)
|
||||
)
|
||||
(go-virtual nav-enemy-patrol)
|
||||
)
|
||||
@@ -1227,11 +1221,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
(the-as int (-> self state-timeout))
|
||||
)
|
||||
(if
|
||||
(and
|
||||
(nonzero? (-> self draw))
|
||||
(nonzero? (logand (-> self draw status) 8))
|
||||
)
|
||||
(if (and (nonzero? (-> self draw)) (logtest? (-> self draw status) 8))
|
||||
(set! (-> self free-time) (-> *display* base-frame-counter))
|
||||
)
|
||||
(if
|
||||
@@ -1903,7 +1893,7 @@ nav-enemy-default-event-handler
|
||||
(if
|
||||
(or
|
||||
(not (TODO-RENAME-46 self (-> self nav-info stop-chase-distance)))
|
||||
(nonzero? (logand (-> self nav-enemy-flags) 8192))
|
||||
(logtest? (-> self nav-enemy-flags) 8192)
|
||||
)
|
||||
(go-virtual nav-enemy-stop-chase)
|
||||
)
|
||||
@@ -2198,7 +2188,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
)
|
||||
(nonzero? (logand #x20000 (-> self nav flags)))
|
||||
(logtest? #x20000 (-> self nav flags))
|
||||
)
|
||||
(go-virtual nav-enemy-give-up)
|
||||
)
|
||||
@@ -2529,7 +2519,7 @@ nav-enemy-default-event-handler
|
||||
(logior! (-> self nav-enemy-flags) 1024)
|
||||
)
|
||||
)
|
||||
(when (and arg1 (nonzero? (logand (-> self nav-enemy-flags) 1024)))
|
||||
(when (and arg1 (logtest? (-> self nav-enemy-flags) 1024))
|
||||
(set! (-> self nav-enemy-flags) (logand -513 (-> self nav-enemy-flags)))
|
||||
(set! f30-0 2048.0)
|
||||
)
|
||||
@@ -2850,7 +2840,7 @@ nav-enemy-default-event-handler
|
||||
(if
|
||||
(or
|
||||
(logtest? (-> self nav-enemy-flags) 128)
|
||||
(nonzero? (logand #x80000 (-> self nav flags)))
|
||||
(logtest? #x80000 (-> self nav flags))
|
||||
)
|
||||
(seek-to-point-toward-point!
|
||||
(-> self collide-info)
|
||||
@@ -2915,7 +2905,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
150
|
||||
)
|
||||
(nonzero? (logand #x80000 (-> self nav flags)))
|
||||
(logtest? #x80000 (-> self nav flags))
|
||||
)
|
||||
(go-virtual nav-enemy-chase)
|
||||
)
|
||||
@@ -3164,7 +3154,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
(logior!
|
||||
(-> obj nav flags)
|
||||
(nav-control-flags display-marks bit0 bit3 bit5 bit6 bit7)
|
||||
(nav-control-flags display-marks bit3 bit5 bit6 bit7)
|
||||
)
|
||||
(set! (-> obj nav gap-event) 'jump)
|
||||
(dummy-26 (-> obj nav))
|
||||
|
||||
+18
-15
@@ -1786,21 +1786,24 @@
|
||||
:virtual #t
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(case arg2
|
||||
(('move-to)
|
||||
(set!
|
||||
(-> self root trans quad)
|
||||
(-> (the-as vector (-> arg3 param 0)) quad)
|
||||
)
|
||||
(set! (-> self water-height) (-> self root trans y))
|
||||
(if (nonzero? (-> self sound))
|
||||
(update-trans! (-> self sound) (-> self root trans))
|
||||
)
|
||||
(let ((v0-0 (logclear (-> self mask) (process-mask sleep-code))))
|
||||
(set! (-> self mask) v0-0)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
(let ((v1-0 arg2))
|
||||
(the-as object (when (= v1-0 'move-to)
|
||||
(set!
|
||||
(-> self root trans quad)
|
||||
(-> (the-as vector (-> arg3 param 0)) quad)
|
||||
)
|
||||
(set! (-> self water-height) (-> self root trans y))
|
||||
(if (nonzero? (-> self sound))
|
||||
(update-trans! (-> self sound) (-> self root trans))
|
||||
)
|
||||
(let
|
||||
((v0-0 (logclear (-> self mask) (process-mask sleep-code)))
|
||||
)
|
||||
(set! (-> self mask) v0-0)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
:trans
|
||||
|
||||
@@ -129,59 +129,60 @@
|
||||
(defstate teetertotter-launch (teetertotter)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(when (= arg2 'touch)
|
||||
(when
|
||||
(and
|
||||
((method-of-type touching-shapes-entry prims-touching?)
|
||||
(the-as touching-shapes-entry (-> arg3 param 0))
|
||||
(the-as collide-shape-moving (-> self root))
|
||||
(the-as uint 1)
|
||||
)
|
||||
(-> self rock-is-dangerous)
|
||||
)
|
||||
(let ((a1-2 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-2 from) self)
|
||||
(set! (-> a1-2 num-params) 2)
|
||||
(set! (-> a1-2 message) 'attack)
|
||||
(set! (-> a1-2 param 0) (-> arg3 param 0))
|
||||
(let ((a0-2 (new 'static 'attack-info :mask #x20)))
|
||||
(set! (-> a0-2 mode) 'deadly)
|
||||
(set! (-> a1-2 param 1) (the-as uint a0-2))
|
||||
)
|
||||
(send-event-function arg0 a1-2)
|
||||
)
|
||||
)
|
||||
(when
|
||||
(and
|
||||
((method-of-type touching-shapes-entry prims-touching?)
|
||||
(the-as touching-shapes-entry (-> arg3 param 0))
|
||||
(the-as collide-shape-moving (-> self root))
|
||||
(the-as uint 2)
|
||||
)
|
||||
(target-on-end-of-teetertotter? self)
|
||||
(not (-> self launched-player))
|
||||
(-> self in-launch-window)
|
||||
)
|
||||
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-4 from) self)
|
||||
(set! (-> a1-4 num-params) 2)
|
||||
(set! (-> a1-4 message) 'shove)
|
||||
(set! (-> a1-4 param 0) (the-as uint #f))
|
||||
(let ((v1-16 (new 'static 'attack-info :mask #xcc0)))
|
||||
(set! (-> v1-16 shove-back) 0.0)
|
||||
(set! (-> v1-16 shove-up) 53248.0)
|
||||
(set! (-> v1-16 angle) 'jump)
|
||||
(set! (-> v1-16 control) 1.0)
|
||||
(set! (-> a1-4 param 1) (the-as uint v1-16))
|
||||
)
|
||||
(when (send-event-function arg0 a1-4)
|
||||
(let ((v0-0 #t))
|
||||
(set! (-> self launched-player) v0-0)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(the-as object (when (= arg2 'touch)
|
||||
(when
|
||||
(and
|
||||
((method-of-type touching-shapes-entry prims-touching?)
|
||||
(the-as touching-shapes-entry (-> arg3 param 0))
|
||||
(the-as collide-shape-moving (-> self root))
|
||||
(the-as uint 1)
|
||||
)
|
||||
(-> self rock-is-dangerous)
|
||||
)
|
||||
(let ((a1-2 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-2 from) self)
|
||||
(set! (-> a1-2 num-params) 2)
|
||||
(set! (-> a1-2 message) 'attack)
|
||||
(set! (-> a1-2 param 0) (-> arg3 param 0))
|
||||
(let ((a0-2 (new 'static 'attack-info :mask #x20)))
|
||||
(set! (-> a0-2 mode) 'deadly)
|
||||
(set! (-> a1-2 param 1) (the-as uint a0-2))
|
||||
)
|
||||
(send-event-function arg0 a1-2)
|
||||
)
|
||||
)
|
||||
(when
|
||||
(and
|
||||
((method-of-type touching-shapes-entry prims-touching?)
|
||||
(the-as touching-shapes-entry (-> arg3 param 0))
|
||||
(the-as collide-shape-moving (-> self root))
|
||||
(the-as uint 2)
|
||||
)
|
||||
(target-on-end-of-teetertotter? self)
|
||||
(not (-> self launched-player))
|
||||
(-> self in-launch-window)
|
||||
)
|
||||
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-4 from) self)
|
||||
(set! (-> a1-4 num-params) 2)
|
||||
(set! (-> a1-4 message) 'shove)
|
||||
(set! (-> a1-4 param 0) (the-as uint #f))
|
||||
(let ((v1-16 (new 'static 'attack-info :mask #xcc0)))
|
||||
(set! (-> v1-16 shove-back) 0.0)
|
||||
(set! (-> v1-16 shove-up) 53248.0)
|
||||
(set! (-> v1-16 angle) 'jump)
|
||||
(set! (-> v1-16 control) 1.0)
|
||||
(set! (-> a1-4 param 1) (the-as uint v1-16))
|
||||
)
|
||||
(when (send-event-function arg0 a1-4)
|
||||
(let ((v0-0 #t))
|
||||
(set! (-> self launched-player) v0-0)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
:code
|
||||
|
||||
@@ -283,9 +283,7 @@
|
||||
(if
|
||||
(and
|
||||
(-> obj entity)
|
||||
(nonzero?
|
||||
(logand (-> obj entity extra perm status) (entity-perm-status complete))
|
||||
)
|
||||
(logtest? (-> obj entity extra perm status) (entity-perm-status complete))
|
||||
)
|
||||
(go silostep-rise #t)
|
||||
(go silostep-idle)
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
((and
|
||||
(-> obj draw shadow)
|
||||
(zero? (-> obj draw cur-lod))
|
||||
(nonzero? (logand (-> obj draw status) 8))
|
||||
(logtest? (-> obj draw status) 8)
|
||||
)
|
||||
(let ((v1-9 (-> obj draw shadow-ctrl)))
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
((and
|
||||
(-> obj draw shadow)
|
||||
(zero? (-> obj draw cur-lod))
|
||||
(nonzero? (logand (-> obj draw status) 8))
|
||||
(logtest? (-> obj draw status) 8)
|
||||
)
|
||||
(let ((v1-9 (-> obj draw shadow-ctrl)))
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
|
||||
Reference in New Issue
Block a user