[decompiler] Several small fixes (#775)

* fix assorted bugs

* stricter return types

* only look for functions in code files
This commit is contained in:
water111
2021-08-19 20:35:12 -04:00
committed by GitHub
parent 69d0840080
commit 11e11d2c04
48 changed files with 461 additions and 304 deletions
@@ -46,19 +46,19 @@
;; definition for method 12 of type task-cstage
(defmethod closed? task-cstage ((obj task-cstage))
(nonzero? (logand (-> obj flags) (task-flags closed)))
(logtest? (-> obj flags) (task-flags closed))
)
;; definition for method 13 of type task-cstage
(defmethod closed-by-default? task-cstage ((obj task-cstage))
(nonzero? (logand (-> obj flags) (task-flags closed-by-default)))
(logtest? (-> obj flags) (task-flags closed-by-default))
)
;; definition for method 11 of type task-cstage
(defmethod task-available? task-cstage ((obj task-cstage) (arg0 task-control))
(let ((a0-1 obj))
(cond
((nonzero? (logand (-> a0-1 flags) (task-flags closed)))
((logtest? (-> a0-1 flags) (task-flags closed))
#f
)
((>=
@@ -227,11 +227,9 @@
(dotimes (s4-0 (-> obj stage length))
(if (or (= arg0 'game) (let ((a0-4 (-> obj stage s4-0)))
(not
(nonzero?
(logand
(-> a0-4 flags)
(task-flags closed-by-default)
)
(logtest?
(-> a0-4 flags)
(task-flags closed-by-default)
)
)
)
@@ -239,7 +237,7 @@
(open-task! (-> obj stage s4-0))
)
(let ((a0-10 (-> obj stage s4-0)))
(if (nonzero? (logand (-> a0-10 flags) (task-flags closed)))
(if (logtest? (-> a0-10 flags) (task-flags closed))
(close-task! (-> obj stage s4-0))
)
)
@@ -263,7 +261,7 @@
(= arg1 (-> obj stage v1-3 status))
)
(let ((a0-3 (-> obj stage v1-3)))
(return (nonzero? (logand (-> a0-3 flags) (task-flags closed))))
(return (logtest? (-> a0-3 flags) (task-flags closed)))
)
)
)