From a325986a2c088c5c2f37e8cdd8da16a370ec29d3 Mon Sep 17 00:00:00 2001 From: Tyler Wilding Date: Sun, 16 Oct 2022 23:07:05 -0400 Subject: [PATCH] d/jak2: only CFG and blocked methods remain in `nav-control` --- decompiler/config/jak2/all-types.gc | 52 ++++++------ decompiler/config/jak2/stack_structures.jsonc | 80 ++++++++++++++++++- decompiler/config/jak2/type_casts.jsonc | 2 +- 3 files changed, 106 insertions(+), 28 deletions(-) diff --git a/decompiler/config/jak2/all-types.gc b/decompiler/config/jak2/all-types.gc index 4eeeee113b..6421f3d2d3 100644 --- a/decompiler/config/jak2/all-types.gc +++ b/decompiler/config/jak2/all-types.gc @@ -21989,15 +21989,15 @@ (nav-mesh-method-10 (_type_ vector vector nav-poly) nav-poly 10) ;; (tri-centroid-local (_type_ nav-poly vector) vector 10) (nav-mesh-method-11 (_type_ nav-poly vector) vector 11) ;; (get-adj-poly (_type_ nav-poly nav-poly symbol) nav-poly 11) (nav-mesh-method-12 (_type_ nav-poly vector) none 12) ;; (setup-portal (_type_ nav-poly nav-poly nav-route-portal) object 12) - (nav-mesh-method-13 (_type_ nav-poly nav-poly) none 13) ;; (initialize-mesh! (_type_) none 13) + (nav-mesh-method-13 (_type_ nav-poly nav-poly) nav-poly 13) ;; (initialize-mesh! (_type_) none 13) (get-route-portal (_type_ nav-poly nav-poly nav-route-portal) (inline-array nav-vertex) 14) ;; (move-along-nav-ray! (_type_ nav-ray) none 14) (initialize-mesh! (_type_) none 15) ;; (try-move-along-ray (_type_ nav-poly vector vector float) meters 15) (move-along-nav-ray! (_type_ nav-ray) none 16) ;; (TODO-RENAME-16 (_type_ vector nav-poly vector symbol float clip-travel-vector-to-mesh-return-info) none 16) (try-move-along-ray (_type_ nav-poly vector vector float) meters 17) ;; (update-route-table (_type_) none 17) - (nav-mesh-method-18 () none 18) ;; (dummy-18 (_type_ int vector int (pointer int8) int) none 18) + (nav-mesh-method-18 (_type_ vector nav-poly vector float symbol clamp-travel-vector-to-mesh-return-info) none 18) ;; (dummy-18 (_type_ int vector int (pointer int8) int) none 18) (nav-mesh-method-19 (_type_) none 19) ;; (compute-bounding-box (_type_ vector vector) none 19) - (nav-mesh-method-20 (_type_) none 20) ;; (debug-draw-poly (_type_ nav-poly rgba) none 20) - (nav-mesh-method-21 (_type_) none 21) ;; (point-in-poly? (_type_ nav-poly vector) symbol 21) + (nav-mesh-method-20 (_type_ clamp-travel-vector-to-mesh-return-info) none 20) ;; (debug-draw-poly (_type_ nav-poly rgba) none 20) + (find-adjacent-bounds-one (_type_ vector nav-poly int int) none 21) ;; (point-in-poly? (_type_ nav-poly vector) symbol 21) (nav-mesh-method-22 (_type_ vector vector) none 22) ;; (find-opposite-vertices (_type_ nav-poly nav-poly) uint 22) (nav-mesh-method-23 (_type_ entity-nav-mesh) none 23) ;; (dummy-23 (_type_ nav-poly vector vector vector nav-route-portal) vector 23) (nav-mesh-method-24 (_type_) none 24) ;; (closest-point-on-boundary (_type_ nav-poly vector vector) vector 24) @@ -22131,10 +22131,10 @@ :flag-assert #x37000000b0 ;; Failed to read fields. (:methods - (nav-state-method-9 () none 9) + (debug-draw (_type_) none 9) (nav-state-method-10 "Virtual/Stub" (_type_) none 10) - (nav-state-method-11 () none 11) + (nav-state-method-11 (_type_ nav-gap-info) symbol 11) (nav-state-method-12 (_type_ vector) vector 12) (nav-state-method-13 (_type_ vector) vector 13) (nav-state-method-14 (_type_ vector) vector 14) @@ -22155,37 +22155,37 @@ (nav-state-method-21 () none 21) (nav-state-method-22 () none 22) (nav-state-method-23 () none 23) - (nav-state-method-24 () none 24) - (nav-state-method-25 () none 25) - (nav-state-method-26 () none 26) - (nav-state-method-27 () none 27) - (nav-state-method-28 () none 28) - (nav-state-method-29 () none 29) - (nav-state-method-30 () none 30) - (nav-state-method-31 () none 31) - (nav-state-method-32 () none 32) - (nav-state-method-33 () none 33) - (nav-state-method-34 () none 34) - (nav-state-method-35 () none 35) - (nav-state-method-36 () none 36) - (nav-state-method-37 () none 37) + (nav-state-method-24 (_type_) none 24) + (nav-state-method-25 (_type_) none 25) + (nav-state-method-26 (_type_) none 26) + (nav-state-method-27 (_type_) none 27) + (nav-state-method-28 (_type_) none 28) + (nav-state-method-29 (_type_) none 29) + (nav-state-method-30 (_type_) none 30) + (nav-state-method-31 (_type_) none 31) + (nav-state-method-32 (_type_) none 32) + (nav-state-method-33 (_type_) none 33) + (nav-state-method-34 (_type_) none 34) + (nav-state-method-35 (_type_) none 35) + (nav-state-method-36 (_type_ vector) none 36) + (nav-state-method-37 (_type_) none 37) (set-current-poly! (_type_ nav-poly) none 38) (nav-state-method-39 () none 39) - (nav-state-method-40 () none 40) + (nav-state-method-40 (_type_) none 40) (nav-state-method-41 (_type_ vector) symbol 41) (nav-state-method-42 (_type_ vector) none 42) (nav-state-method-43 (_type_ vector) none 43) (set-velocity! (_type_ vector) none 44) (set-heading! (_type_ vector) none 45) (set-speed! (_type_ meters) none 46) - (nav-state-method-47 (_type_) none 47) + (nav-state-method-47 (_type_ nav-control) none 47) (nav-state-method-48 () none 48) - (nav-state-method-49 () none 49) + (nav-state-method-49 (_type_ clamp-travel-vector-to-mesh-return-info) none 49) (nav-state-method-50 "Virtual/Stub" (_type_) none 50) (nav-state-method-51 "TODO - #1888" () none 51) - (nav-state-method-52 () none 52) - (nav-state-method-53 () none 53) - (nav-state-method-54 () none 54) + (nav-state-method-52 (_type_) none 52) + (nav-state-method-53 (_type_) none 53) + (nav-state-method-54 (_type_) none 54) ) ) diff --git a/decompiler/config/jak2/stack_structures.jsonc b/decompiler/config/jak2/stack_structures.jsonc index c71f2469df..915fdc59bf 100644 --- a/decompiler/config/jak2/stack_structures.jsonc +++ b/decompiler/config/jak2/stack_structures.jsonc @@ -3593,5 +3593,83 @@ 16, "vector" ] + ], + "(method 52 nav-state)": [ + [ + 16, + "nav-avoid-spheres-params" + ], + [ + 112, + "nav-ray" + ] + ], + "(method 31 nav-state)": [ + [ + 16, + "nav-avoid-spheres-params" + ], + [ + 112, + "nav-ray" + ] + ], + "(method 24 nav-state)": [ + [ + 16, + "vector" + ] + ], + "(method 34 nav-state)": [ + [ + 16, + "vector" + ] + ], + "(method 9 nav-control)": [ + [ + 16, + "vector" + ] + ], + "(method 37 nav-state)": [ + [ + 16, + "vector" + ] + ], + "(method 33 nav-state)": [ + [ + 16, + "clamp-travel-vector-to-mesh-return-info" + ] + ], + "(method 32 nav-state)": [ + [ + 16, + "check-vector-collision-with-nav-spheres-info" + ] + ], + "(method 28 nav-state)": [ + [ + 208, + "vector" + ] + ], + "(method 11 nav-state)": [ + [ + 16, + "vector" + ], + [ + 32, + "vector" + ] + ], + "(method 49 nav-state)": [ + [ + 16, + "nav-ray" + ] ] -} +} \ No newline at end of file diff --git a/decompiler/config/jak2/type_casts.jsonc b/decompiler/config/jak2/type_casts.jsonc index 6501384242..466773cdb7 100644 --- a/decompiler/config/jak2/type_casts.jsonc +++ b/decompiler/config/jak2/type_casts.jsonc @@ -18025,4 +18025,4 @@ "float" ] ] -} \ No newline at end of file +}