mirror of
https://github.com/open-goal/jak-project
synced 2026-08-15 04:51:00 -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
@@ -102,15 +102,9 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-26 gp-0))
|
||||
(set! (-> v1-26 width) (the float 448))
|
||||
)
|
||||
(let ((v1-27 gp-0))
|
||||
(set! (-> v1-27 height) (the float 80))
|
||||
)
|
||||
(let ((v1-28 gp-0))
|
||||
(set! (-> v1-28 scale) 0.8)
|
||||
)
|
||||
(set-width! gp-0 448)
|
||||
(set-height! gp-0 80)
|
||||
(set-scale! gp-0 0.8)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning middle large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id firecanyon-need-cells-text) #f) gp-0 #f 128 22)
|
||||
)
|
||||
|
||||
+2
-6
@@ -215,12 +215,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-34 gp-0))
|
||||
(set! (-> v1-34 width) (the float 440))
|
||||
)
|
||||
(let ((v1-35 gp-0))
|
||||
(set! (-> v1-35 height) (the float 80))
|
||||
)
|
||||
(set-width! gp-0 440)
|
||||
(set-height! gp-0 80)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) gp-0 #f 128 22)
|
||||
)
|
||||
|
||||
+3
-9
@@ -1136,15 +1136,9 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 435 10 0.0 (font-color red) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-1 s5-0))
|
||||
(set! (-> v1-1 width) (the float 200))
|
||||
)
|
||||
(let ((v1-2 s5-0))
|
||||
(set! (-> v1-2 height) (the float 30))
|
||||
)
|
||||
(let ((v1-3 s5-0))
|
||||
(set! (-> v1-3 scale) 0.7)
|
||||
)
|
||||
(set-width! s5-0 200)
|
||||
(set-height! s5-0 30)
|
||||
(set-scale! s5-0 0.7)
|
||||
(set! (-> s5-0 flags) (font-flags shadow kerning right large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id caught) #f) s5-0 #f 128 22)
|
||||
(set! (-> s5-0 origin x) 488.0)
|
||||
|
||||
+2
-6
@@ -1444,12 +1444,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-43 s2-2))
|
||||
(set! (-> v1-43 width) (the float 440))
|
||||
)
|
||||
(let ((v1-44 s2-2))
|
||||
(set! (-> v1-44 height) (the float 80))
|
||||
)
|
||||
(set-width! s2-2 440)
|
||||
(set-height! s2-2 80)
|
||||
(set! (-> s2-2 flags) (font-flags shadow kerning large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) s2-2 #f 128 22)
|
||||
)
|
||||
|
||||
+3
-9
@@ -86,15 +86,9 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-26 gp-0))
|
||||
(set! (-> v1-26 width) (the float 448))
|
||||
)
|
||||
(let ((v1-27 gp-0))
|
||||
(set! (-> v1-27 height) (the float 80))
|
||||
)
|
||||
(let ((v1-28 gp-0))
|
||||
(set! (-> v1-28 scale) 0.8)
|
||||
)
|
||||
(set-width! gp-0 448)
|
||||
(set-height! gp-0 80)
|
||||
(set-scale! gp-0 0.8)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning middle large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id assistant-lavatube-need-cells-text) #f) gp-0 #f 128 22)
|
||||
)
|
||||
|
||||
+2
-6
@@ -1592,12 +1592,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-15 gp-0))
|
||||
(set! (-> v1-15 width) (the float 440))
|
||||
)
|
||||
(let ((v1-16 gp-0))
|
||||
(set! (-> v1-16 height) (the float 80))
|
||||
)
|
||||
(set-width! gp-0 440)
|
||||
(set-height! gp-0 80)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) gp-0 #f 128 22)
|
||||
)
|
||||
|
||||
+2
-6
@@ -247,12 +247,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-24 gp-0))
|
||||
(set! (-> v1-24 width) (the float 440))
|
||||
)
|
||||
(let ((v1-25 gp-0))
|
||||
(set! (-> v1-25 height) (the float 80))
|
||||
)
|
||||
(set-width! gp-0 440)
|
||||
(set-height! gp-0 80)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) gp-0 #f 128 22)
|
||||
)
|
||||
|
||||
+7
-21
@@ -1190,15 +1190,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-1 gp-0))
|
||||
(set! (-> v1-1 width) (the float 200))
|
||||
)
|
||||
(let ((v1-2 gp-0))
|
||||
(set! (-> v1-2 height) (the float 50))
|
||||
)
|
||||
(let ((v1-3 gp-0))
|
||||
(set! (-> v1-3 scale) 0.7)
|
||||
)
|
||||
(set-width! gp-0 200)
|
||||
(set-height! gp-0 50)
|
||||
(set-scale! gp-0 0.7)
|
||||
(set! (-> gp-0 origin x) (the float (+ (-> self timer-pos-offset) 392)))
|
||||
(set! (-> gp-0 origin y) (the float (- 10 (-> self timer-pos-offset))))
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning right large))
|
||||
@@ -1218,9 +1212,7 @@
|
||||
)
|
||||
((race-time-less-than (-> self this-time) (-> self record-time))
|
||||
(when (< (mod (-> *display* real-frame-counter) 90) 60)
|
||||
(let ((v1-18 gp-0))
|
||||
(set! (-> v1-18 scale) 1.0)
|
||||
)
|
||||
(set-scale! gp-0 1.0)
|
||||
(set! (-> gp-0 origin x) 156.0)
|
||||
(set! (-> gp-0 origin y) 80.0)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning middle middle-vert large))
|
||||
@@ -1252,9 +1244,7 @@
|
||||
(ambient-hint-spawn "st-lose" (the-as vector #f) *entity-pool* 'stinger)
|
||||
)
|
||||
(when (< (mod (-> *display* real-frame-counter) 90) 60)
|
||||
(let ((v1-30 gp-0))
|
||||
(set! (-> v1-30 scale) 1.0)
|
||||
)
|
||||
(set-scale! gp-0 1.0)
|
||||
(set! (-> gp-0 origin x) 156.0)
|
||||
(set! (-> gp-0 origin y) 80.0)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning middle middle-vert large))
|
||||
@@ -1330,12 +1320,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 156 80 0.0 (font-color red) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-20 gp-0))
|
||||
(set! (-> v1-20 width) (the float 200))
|
||||
)
|
||||
(let ((v1-21 gp-0))
|
||||
(set! (-> v1-21 height) (the float 50))
|
||||
)
|
||||
(set-width! gp-0 200)
|
||||
(set-height! gp-0 50)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning middle middle-vert large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id race-aborted) #f) gp-0 #f 128 22)
|
||||
)
|
||||
|
||||
+2
-6
@@ -832,12 +832,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 80 170 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-12 gp-0))
|
||||
(set! (-> v1-12 width) (the float 352))
|
||||
)
|
||||
(let ((v1-13 gp-0))
|
||||
(set! (-> v1-13 height) (the float 40))
|
||||
)
|
||||
(set-width! gp-0 352)
|
||||
(set-height! gp-0 40)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning middle middle-vert large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id press-start) #f) gp-0 #f 128 22)
|
||||
)
|
||||
|
||||
+2
-6
@@ -946,12 +946,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-17 s5-1))
|
||||
(set! (-> v1-17 width) (the float 440))
|
||||
)
|
||||
(let ((v1-18 s5-1))
|
||||
(set! (-> v1-18 height) (the float 80))
|
||||
)
|
||||
(set-width! s5-1 440)
|
||||
(set-height! s5-1 80)
|
||||
(set! (-> s5-1 flags) (font-flags shadow kerning large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) s5-1 #f 128 22)
|
||||
)
|
||||
|
||||
+3
-9
@@ -1395,15 +1395,9 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-28 gp-0))
|
||||
(set! (-> v1-28 width) (the float 448))
|
||||
)
|
||||
(let ((v1-29 gp-0))
|
||||
(set! (-> v1-29 height) (the float 80))
|
||||
)
|
||||
(let ((v1-30 gp-0))
|
||||
(set! (-> v1-30 scale) 0.8)
|
||||
)
|
||||
(set-width! gp-0 448)
|
||||
(set-height! gp-0 80)
|
||||
(set-scale! gp-0 0.8)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning middle large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id village2-levitator-need-cells-text) #f) gp-0 #f 128 22)
|
||||
)
|
||||
|
||||
+2
-6
@@ -222,12 +222,8 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-59 s5-2))
|
||||
(set! (-> v1-59 width) (the float 440))
|
||||
)
|
||||
(let ((v1-60 s5-2))
|
||||
(set! (-> v1-60 height) (the float 80))
|
||||
)
|
||||
(set-width! s5-2 440)
|
||||
(set-height! s5-2 80)
|
||||
(set! (-> s5-2 flags) (font-flags shadow kerning large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) s5-2 #f 128 22)
|
||||
)
|
||||
|
||||
+7
-21
@@ -161,15 +161,9 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-53 gp-0))
|
||||
(set! (-> v1-53 width) (the float 440))
|
||||
)
|
||||
(let ((v1-54 gp-0))
|
||||
(set! (-> v1-54 height) (the float 80))
|
||||
)
|
||||
(let ((v1-55 gp-0))
|
||||
(set! (-> v1-55 scale) 0.9)
|
||||
)
|
||||
(set-width! gp-0 440)
|
||||
(set-height! gp-0 80)
|
||||
(set-scale! gp-0 0.9)
|
||||
(set! (-> gp-0 flags) (font-flags shadow kerning large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id press-to-use) #f) gp-0 #f 128 22)
|
||||
)
|
||||
@@ -321,21 +315,13 @@
|
||||
(new 'stack 'font-context *font-default-matrix* 6 110 0.0 (font-color default) (font-flags shadow kerning))
|
||||
)
|
||||
)
|
||||
(let ((v1-38 s1-3))
|
||||
(set! (-> v1-38 scale) 0.7)
|
||||
)
|
||||
(let ((v1-39 s1-3))
|
||||
(set! (-> v1-39 width) (the float 500))
|
||||
)
|
||||
(let ((v1-40 s1-3))
|
||||
(set! (-> v1-40 height) (the float 55))
|
||||
)
|
||||
(set-scale! s1-3 0.7)
|
||||
(set-width! s1-3 500)
|
||||
(set-height! s1-3 55)
|
||||
(set! (-> s1-3 flags) (font-flags shadow kerning middle middle-vert large))
|
||||
(print-game-text (lookup-text! *common-text* (text-id warp-gate-use-dpad) #f) s1-3 #f 128 22)
|
||||
(+! (-> s1-3 origin y) 35.0)
|
||||
(let ((v1-43 s1-3))
|
||||
(set! (-> v1-43 height) (the float 40))
|
||||
)
|
||||
(set-height! s1-3 40)
|
||||
(let ((a0-34 s1-3))
|
||||
(set! (-> a0-34 color) (font-color progress-blue))
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user