Skip to content

Commit

Permalink
jak1: clean up all dummy methods (#2457)
Browse files Browse the repository at this point in the history
Cleans up every `dummy-*` and `TODO-RENAME-*` method up with either
proper names or by renaming them to `[type-name]-method-[method-id]`
similar to Jak 2's `all-types`.

Also fixes the bad format string in `collide-cache` and adds the event
handler hack to Jak 1.

The game boots and runs fine, but I might have missed a PAL patch or
other manual patches here and there, please double-check if possible.
  • Loading branch information
Hat-Kid committed Apr 5, 2023
1 parent 366808d commit f4085a4
Show file tree
Hide file tree
Showing 385 changed files with 8,164 additions and 9,440 deletions.
5 changes: 5 additions & 0 deletions decompiler/analysis/variable_naming.cpp
Expand Up @@ -746,6 +746,11 @@ void SSA::make_vars(const Function& function, const DecompilerTypeSystem& dts) {
function.guessed_name.to_string() == "(method 74 crimson-guard)";
}

if (function.ir2.env.version == GameVersion::Jak1) {
event_handler_hack = function.guessed_name.is_event_handler() ||
function.guessed_name.to_string() == "target-generic-event-handler";
}

for (int block_id = 0; block_id < int(blocks.size()); block_id++) {
const auto& block = blocks.at(block_id);
const TypeState* init_types = &function.ir2.env.get_types_at_block_entry(block_id);
Expand Down
758 changes: 379 additions & 379 deletions decompiler/config/jak1/all-types.gc

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion decompiler/config/jak1/ntsc_v1/hacks.jsonc
Expand Up @@ -337,7 +337,8 @@
"~0k~5d/~d ~6d/~d ~6d/~d ": 6,
"~0k~s~%": 1,
"money ~A was killed in pickup~%": 0,
" id address name aid tsk lev status x y z address name state heap flags~%": 3
" id address name aid tsk lev status x y z address name state heap flags~%": 3,
"ERROR: Exceeded max # of spheres in collide-cache::probe-using-spheres!~": 0
},

"blocks_ending_in_asm_branch": {
Expand Down
106 changes: 55 additions & 51 deletions goal_src/jak1/engine/anim/joint-exploder.gc
Expand Up @@ -105,15 +105,15 @@
:size-assert #x210
:flag-assert #x1d01a00210
(:methods
(TODO-RENAME-20 (_type_ joint-exploder-list int) int 20)
(TODO-RENAME-21 (_type_ joint-exploder-list joint-exploder-joint) none 21)
(TODO-RENAME-22 (_type_ joint-exploder-list) symbol 22)
(TODO-RENAME-23 (_type_) symbol 23)
(TODO-RENAME-24 (_type_ joint-exploder-list int) int 24)
(TODO-RENAME-25 (_type_ joint-exploder-list) symbol 25)
(TODO-RENAME-26 (_type_ joint-exploder-list int) int 26)
(TODO-RENAME-27 (_type_ joint-exploder-list int) joint-exploder-list 27)
(TODO-RENAME-28 (_type_ joint-exploder-list) none 28)
(joint-exploder-method-20 (_type_ joint-exploder-list int) int 20)
(joint-exploder-method-21 (_type_ joint-exploder-list joint-exploder-joint) none 21)
(joint-exploder-method-22 (_type_ joint-exploder-list) symbol 22)
(joint-exploder-method-23 (_type_) symbol 23)
(joint-exploder-method-24 (_type_ joint-exploder-list int) int 24)
(joint-exploder-method-25 (_type_ joint-exploder-list) symbol 25)
(joint-exploder-method-26 (_type_ joint-exploder-list int) int 26)
(joint-exploder-method-27 (_type_ joint-exploder-list int) joint-exploder-list 27)
(joint-exploder-method-28 (_type_ joint-exploder-list) none 28)
)
(:states
joint-exploder-shatter
Expand Down Expand Up @@ -157,8 +157,8 @@
(none)
)

(defmethod TODO-RENAME-24 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 int))
(let ((v0-0 (TODO-RENAME-26 obj arg0 arg1)))
(defmethod joint-exploder-method-24 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 int))
(let ((v0-0 (joint-exploder-method-26 obj arg0 arg1)))
(let* ((v1-1 (-> obj joints))
(v1-2 (-> v1-1 joint arg1))
)
Expand All @@ -171,7 +171,7 @@
)
)

(defmethod TODO-RENAME-26 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 int))
(defmethod joint-exploder-method-26 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 int))
(let* ((v1-0 (-> obj joints))
(a2-1 (-> v1-0 joint arg1))
(a0-4 (-> a2-1 prev))
Expand Down Expand Up @@ -202,7 +202,7 @@
)
)

(defmethod TODO-RENAME-20 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 int))
(defmethod joint-exploder-method-20 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 int))
(let* ((v1-0 (-> obj joints))
(a3-0 (-> v1-0 joint arg1))
(a0-4 (-> arg0 head))
Expand All @@ -217,7 +217,7 @@
)
)

(defmethod TODO-RENAME-21 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 joint-exploder-joint))
(defmethod joint-exploder-method-21 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 joint-exploder-joint))
(let ((a1-1 (-> arg1 mat vector 3)))
(cond
((-> arg0 bbox-valid?)
Expand All @@ -234,7 +234,7 @@
(none)
)

(defmethod TODO-RENAME-27 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 int))
(defmethod joint-exploder-method-27 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 int))
(local-vars (sv-16 int) (sv-32 int) (sv-48 int))
(let ((s4-0 (the-as joint-exploder-list #f)))
(let ((v1-0 1))
Expand Down Expand Up @@ -270,13 +270,13 @@
(let ((s0-0 (-> s2-0 joint s1-0)))
(cond
((>= (-> s0-0 mat vector 3 x) f30-0)
(set! sv-16 (TODO-RENAME-26 obj arg0 s1-0))
(TODO-RENAME-20 obj (the-as joint-exploder-list s3-0) s1-0)
(set! sv-16 (joint-exploder-method-26 obj arg0 s1-0))
(joint-exploder-method-20 obj (the-as joint-exploder-list s3-0) s1-0)
(set! s1-0 sv-16)
(TODO-RENAME-21 obj (the-as joint-exploder-list s3-0) s0-0)
(joint-exploder-method-21 obj (the-as joint-exploder-list s3-0) s0-0)
)
(else
(TODO-RENAME-21 obj arg0 s0-0)
(joint-exploder-method-21 obj arg0 s0-0)
(set! s1-0 (-> s0-0 next))
)
)
Expand All @@ -290,13 +290,13 @@
(let ((s0-1 (-> s2-0 joint s1-0)))
(cond
((>= (-> s0-1 mat vector 3 y) f30-1)
(set! sv-32 (TODO-RENAME-26 obj arg0 s1-0))
(TODO-RENAME-20 obj (the-as joint-exploder-list s3-0) s1-0)
(set! sv-32 (joint-exploder-method-26 obj arg0 s1-0))
(joint-exploder-method-20 obj (the-as joint-exploder-list s3-0) s1-0)
(set! s1-0 sv-32)
(TODO-RENAME-21 obj (the-as joint-exploder-list s3-0) s0-1)
(joint-exploder-method-21 obj (the-as joint-exploder-list s3-0) s0-1)
)
(else
(TODO-RENAME-21 obj arg0 s0-1)
(joint-exploder-method-21 obj arg0 s0-1)
(set! s1-0 (-> s0-1 next))
)
)
Expand All @@ -310,13 +310,13 @@
(let ((s0-2 (-> s2-0 joint s1-0)))
(cond
((>= (-> s0-2 mat vector 3 z) f30-2)
(set! sv-48 (TODO-RENAME-26 obj arg0 s1-0))
(TODO-RENAME-20 obj (the-as joint-exploder-list s3-0) s1-0)
(set! sv-48 (joint-exploder-method-26 obj arg0 s1-0))
(joint-exploder-method-20 obj (the-as joint-exploder-list s3-0) s1-0)
(set! s1-0 sv-48)
(TODO-RENAME-21 obj (the-as joint-exploder-list s3-0) s0-2)
(joint-exploder-method-21 obj (the-as joint-exploder-list s3-0) s0-2)
)
(else
(TODO-RENAME-21 obj arg0 s0-2)
(joint-exploder-method-21 obj arg0 s0-2)
(set! s1-0 (-> s0-2 next))
)
)
Expand All @@ -331,39 +331,39 @@
)
)

(defmethod TODO-RENAME-28 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list))
(defmethod joint-exploder-method-28 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list))
(when (and (-> arg0 bbox-valid?) (>= (-> arg0 head) 0))
(cond
((< 20480.0 (- (-> arg0 bbox max x) (-> arg0 bbox min x)))
(let ((a1-2 (TODO-RENAME-27 obj arg0 0)))
(let ((a1-2 (joint-exploder-method-27 obj arg0 0)))
(if a1-2
(TODO-RENAME-28 obj a1-2)
(joint-exploder-method-28 obj a1-2)
)
)
(TODO-RENAME-28 obj arg0)
(joint-exploder-method-28 obj arg0)
)
((< 20480.0 (- (-> arg0 bbox max y) (-> arg0 bbox min y)))
(let ((a1-5 (TODO-RENAME-27 obj arg0 1)))
(let ((a1-5 (joint-exploder-method-27 obj arg0 1)))
(if a1-5
(TODO-RENAME-28 obj a1-5)
(joint-exploder-method-28 obj a1-5)
)
)
(TODO-RENAME-28 obj arg0)
(joint-exploder-method-28 obj arg0)
)
((< 20480.0 (- (-> arg0 bbox max z) (-> arg0 bbox min z)))
(let ((a1-8 (TODO-RENAME-27 obj arg0 2)))
(let ((a1-8 (joint-exploder-method-27 obj arg0 2)))
(if a1-8
(TODO-RENAME-28 obj a1-8)
(joint-exploder-method-28 obj a1-8)
)
)
(TODO-RENAME-28 obj arg0)
(joint-exploder-method-28 obj arg0)
)
)
)
(none)
)

(defmethod TODO-RENAME-25 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list))
(defmethod joint-exploder-method-25 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list))
(set! (-> arg0 bbox-valid?) #f)
(set! (-> arg0 pre-moved?) #t)
(let ((s4-0 (-> obj joints))
Expand Down Expand Up @@ -393,10 +393,10 @@
((or (< (-> s1-0 y) (-> obj die-if-below-y))
(< (-> obj die-if-beyond-xz-dist-sqrd) (vector-vector-xz-distance s1-0 (-> obj root trans)))
)
(set! s3-0 (TODO-RENAME-24 obj arg0 s3-0))
(set! s3-0 (joint-exploder-method-24 obj arg0 s3-0))
)
(else
(TODO-RENAME-21 obj arg0 s2-0)
(joint-exploder-method-21 obj arg0 s2-0)
(set! s3-0 (-> s2-0 next))
)
)
Expand All @@ -406,7 +406,7 @@
#f
)

(defmethod TODO-RENAME-22 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list))
(defmethod joint-exploder-method-22 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list))
(fill-using-bounding-box
*collide-cache*
(-> arg0 bbox)
Expand All @@ -424,7 +424,15 @@
(s3-0 (new 'stack-no-clear 'collide-tri-result))
)
(vector-! a2-1 s4-0 (-> s5-1 prev-pos))
(when (>= (probe-using-line-sphere *collide-cache* (-> s5-1 prev-pos) a2-1 40.96 (collide-kind background) s3-0 (new 'static 'pat-surface :noentity #x1))
(when (>= (probe-using-line-sphere
*collide-cache*
(-> s5-1 prev-pos)
a2-1
40.96
(collide-kind background)
s3-0
(new 'static 'pat-surface :noentity #x1)
)
0.0
)
(set! (-> s4-0 quad) (-> s3-0 intersect quad))
Expand Down Expand Up @@ -470,9 +478,9 @@
(let ((s5-0 (-> self lists gp-0)))
(when (>= (-> s5-0 head) 0)
(when (not (-> s5-0 pre-moved?))
(TODO-RENAME-25 self s5-0)
(joint-exploder-method-25 self s5-0)
(if (nonzero? gp-0)
(TODO-RENAME-28 self s5-0)
(joint-exploder-method-28 self s5-0)
)
)
)
Expand All @@ -489,7 +497,7 @@
(add-box! gp-1 (-> s4-0 bbox))
)
(if (nonzero? s5-1)
(TODO-RENAME-22 self s4-0)
(joint-exploder-method-22 self s4-0)
)
)
)
Expand Down Expand Up @@ -521,7 +529,7 @@
:post (the-as (function none :behavior joint-exploder) ja-post)
)

(defmethod TODO-RENAME-23 joint-exploder ((obj joint-exploder))
(defmethod joint-exploder-method-23 joint-exploder ((obj joint-exploder))
(let ((gp-0 (-> obj joints)))
(dotimes (s4-0 (-> gp-0 num-joints))
(let ((v1-2 (-> obj static-params joints s4-0))
Expand Down Expand Up @@ -647,7 +655,7 @@
(ja-channel-set! 1)
(ja :group! (-> self anim) :num! min)
(ja-post)
(TODO-RENAME-23 self)
(joint-exploder-method-23 self)
(set! (-> self die-if-below-y) (+ -102400.0 (-> self root trans y)))
(set! (-> self skel postbind-function) joint-exploder-joint-callback)
(go joint-exploder-shatter)
Expand Down Expand Up @@ -681,7 +689,3 @@
)
)
)




0 comments on commit f4085a4

Please sign in to comment.