mirror of
https://github.com/open-goal/jak-project
synced 2026-07-09 06:53:45 -04:00
[decompiler] as-type and font method support (#3855)
Add support for `as-type` macro, and detecting inline font methods. This works in all three games but I've only updated jak 3's goal_src for now. Eventually I will go back and work through the others, but I want to get more decompiler features in first.  --------- Co-authored-by: water111 <awaterford1111445@gmail.com>
This commit is contained in:
+3
-9
@@ -920,15 +920,9 @@
|
||||
(set! *external-cam-mode* #f)
|
||||
)
|
||||
:trans (behavior ()
|
||||
(let ((gp-0 *collision-edit-info*)
|
||||
(s5-0 (method-of-type collision-edit-info draw-menu))
|
||||
(s4-0 (handle->process (-> self proc)))
|
||||
)
|
||||
(s5-0 gp-0 (the-as process-drawable (if (type? s4-0 process-drawable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(draw-menu
|
||||
*collision-edit-info*
|
||||
(the-as process-drawable (as-type (handle->process (-> self proc)) process-drawable))
|
||||
)
|
||||
)
|
||||
:code sleep-code
|
||||
|
||||
+2
-14
@@ -1021,13 +1021,7 @@
|
||||
(draw-string "..." s1-0 s5-0)
|
||||
(set! arg4 (and (zero? arg3) arg4))
|
||||
(when arg4
|
||||
(let ((v1-18 s5-0)
|
||||
(a1-7 20)
|
||||
(a0-10 379)
|
||||
)
|
||||
(set! (-> v1-18 origin x) (the float a1-7))
|
||||
(set! (-> v1-18 origin y) (the float a0-10))
|
||||
)
|
||||
(set-origin! s5-0 20 379)
|
||||
(draw-string-adv (-> arg0 name) s1-0 s5-0)
|
||||
(draw-string-adv ":" s1-0 s5-0)
|
||||
(draw-string (-> arg0 display-str) s1-0 s5-0)
|
||||
@@ -1115,13 +1109,7 @@
|
||||
(font-color menu)
|
||||
)
|
||||
)
|
||||
(let ((v1-20 (-> arg0 context font))
|
||||
(a1-5 s3-1)
|
||||
(a0-15 s2-1)
|
||||
)
|
||||
(set! (-> v1-20 origin x) (the float a1-5))
|
||||
(set! (-> v1-20 origin y) (the float a0-15))
|
||||
)
|
||||
(set-origin! (-> arg0 context font) s3-1 s2-1)
|
||||
(set! sv-16 (-> *display* frames (-> *display* on-screen) debug-buf))
|
||||
(set! sv-32 (-> sv-16 base))
|
||||
(set-context! *font-work* (-> arg0 context font))
|
||||
|
||||
Reference in New Issue
Block a user