[decompiler] detect cpad-hold? and cpad-pressed? (#986)

* [decompiler] detect `cpad-hold?` and `cpad-pressed?`

* cleanup cpad macro button lookup

* better

* fix
This commit is contained in:
ManDude
2021-12-02 00:41:49 +00:00
committed by GitHub
parent 6a4348287e
commit d845524c23
30 changed files with 308 additions and 355 deletions
+14 -23
View File
@@ -1723,7 +1723,7 @@
(debug-menu-context-release-joypad a0-1)
)
(set! (-> arg0 grabbed-joypad-p) #f)
(when (logtest? (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons circle))
(when (cpad-pressed? 0 circle)
(cond
((-> arg0 float-p)
(if (-> arg0 factivate-func)
@@ -1766,28 +1766,19 @@
)
)
((or
(logtest? (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons right))
(logtest? (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons left))
(logtest? (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons down))
(logtest? (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons up))
(cpad-hold? 0 right)
(cpad-hold? 0 left)
(cpad-hold? 0 down)
(cpad-hold? 0 up)
)
(let ((v1-39 (cond
((logtest?
(-> *cpad-list* cpads 0 button0-abs 0)
(pad-buttons right)
)
((cpad-hold? 0 right)
10
)
((logtest?
(-> *cpad-list* cpads 0 button0-abs 0)
(pad-buttons up)
)
((cpad-hold? 0 up)
1
)
((logtest?
(-> *cpad-list* cpads 0 button0-abs 0)
(pad-buttons down)
)
((cpad-hold? 0 down)
-1
)
(else
@@ -2103,7 +2094,7 @@
;; definition for function debug-menus-default-joypad-func
(defun debug-menus-default-joypad-func ((arg0 debug-menu-context))
(cond
((logtest? (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons square))
((cpad-pressed? 0 square)
(cond
((< 1 (-> arg0 sel-length))
(debug-menu-context-close-submenu arg0)
@@ -2112,19 +2103,19 @@
)
)
)
((logtest? (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons x))
((cpad-pressed? 0 x)
(debug-menu-context-activate-selection arg0)
)
((logtest? (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons up))
((cpad-pressed? 0 up)
(debug-menu-context-select-new-item arg0 -1)
)
((logtest? (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons down))
((cpad-pressed? 0 down)
(debug-menu-context-select-new-item arg0 1)
)
((logtest? (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons left))
((cpad-pressed? 0 left)
(debug-menu-context-select-new-item arg0 -5)
)
((logtest? (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons right))
((cpad-pressed? 0 right)
(debug-menu-context-select-new-item arg0 5)
)
)