[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
+7 -13
View File
@@ -339,12 +339,7 @@
(init-vf0-vector)
(cond
((= (-> arg1 position) #t)
(let* ((s3-0 (handle->process (-> arg1 handle)))
(v1-4 (if (type? s3-0 process-drawable)
(the-as process-drawable s3-0)
)
)
)
(let ((v1-4 (as-type (handle->process (-> arg1 handle)) process-drawable)))
(if (and v1-4 (nonzero? (-> v1-4 root)))
(set! (-> arg1 last-world-pos quad) (-> v1-4 root trans quad))
)
@@ -354,13 +349,12 @@
(= (-> (the-as basic (-> arg1 position)) type) entity-actor)
)
(let* ((v1-14 (the-as entity-actor (-> arg1 position)))
(s3-1 (if v1-14
(-> v1-14 extra process)
)
)
(a0-13 (if (type? s3-1 process-drawable)
(the-as process-drawable s3-1)
)
(a0-13 (as-type
(if v1-14
(-> v1-14 extra process)
)
process-drawable
)
)
)
(if a0-13