[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.


![image](https://github.com/user-attachments/assets/5c31bf85-97b4-437c-bc4b-dc054e60551e)

---------

Co-authored-by: water111 <awaterford1111445@gmail.com>
This commit is contained in:
water111
2025-02-01 21:23:11 -05:00
committed by GitHub
parent d5590ab638
commit 48cb9bb787
645 changed files with 5391 additions and 16694 deletions
+6 -18
View File
@@ -382,12 +382,8 @@
(new 'stack 'font-context *font-default-matrix* 56 160 0.0 (font-color default) (font-flags shadow kerning))
)
)
(let ((v1-3 s5-0))
(set! (-> v1-3 width) (the float 400))
)
(let ((v1-4 s5-0))
(set! (-> v1-4 height) (the float 96))
)
(set-width! s5-0 400)
(set-height! s5-0 96)
(set! (-> s5-0 flags) (font-flags shadow kerning middle large))
(print-game-text (lookup-text! *common-text* (-> this text-id-to-display) #f) s5-0 #f 128 22)
)
@@ -602,12 +598,8 @@
(new 'stack 'font-context *font-default-matrix* 56 160 0.0 (font-color default) (font-flags shadow kerning))
)
)
(let ((v1-7 s3-0))
(set! (-> v1-7 width) (the float 400))
)
(let ((v1-8 s3-0))
(set! (-> v1-8 height) (the float 96))
)
(set-width! s3-0 400)
(set-height! s3-0 96)
(set! (-> s3-0 flags) (font-flags shadow kerning middle))
(let ((s2-0 print-game-text))
(format (clear *temp-string*) "~S~S" arg0 arg1)
@@ -675,12 +667,8 @@
(new 'stack 'font-context *font-default-matrix* 56 160 0.0 (font-color default) (font-flags shadow kerning))
)
)
(let ((v1-5 a1-3))
(set! (-> v1-5 width) (the float 400))
)
(let ((v1-6 a1-3))
(set! (-> v1-6 height) (the float 96))
)
(set-width! a1-3 400)
(set-height! a1-3 96)
(set! (-> a1-3 flags) (font-flags shadow kerning middle large))
(print-game-text "AS: UNKNOWN ID" a1-3 #f 128 22)
)