mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
decomp: finish kermit
(#1007)
* decomp: finish `kermit` * fix function split
This commit is contained in:
parent
c28c47b4c8
commit
39f6575661
|
@ -31709,7 +31709,7 @@
|
|||
(declare-type kermit nav-enemy)
|
||||
(deftype joint-mod-tracker (basic)
|
||||
((target-pos vector :inline :offset-assert 16)
|
||||
(target-pos-func function :offset-assert 32)
|
||||
(target-pos-func (function vector vector) :offset-assert 32)
|
||||
(inv-forward-scale-factor float :offset-assert 36)
|
||||
(forward-scale-control float :offset-assert 40)
|
||||
(forward-scale-max float :offset-assert 44)
|
||||
|
@ -31721,7 +31721,7 @@
|
|||
:method-count-assert 9
|
||||
:size-assert #x3a
|
||||
:flag-assert #x90000003a
|
||||
(:methods (new (symbol type kermit int function int8 int8) _type_ 0))
|
||||
(:methods (new (symbol type kermit int function int int) _type_ 0))
|
||||
)
|
||||
|
||||
(deftype kermit-pulse (process-drawable)
|
||||
|
@ -31734,6 +31734,9 @@
|
|||
:size-assert #xb4
|
||||
:heap-base #x50
|
||||
:flag-assert #x14005000b4
|
||||
(:states
|
||||
kermit-pulse-idle
|
||||
kermit-pulse-impact)
|
||||
)
|
||||
|
||||
(deftype kermit (nav-enemy)
|
||||
|
@ -31751,6 +31754,16 @@
|
|||
:size-assert #x1bc
|
||||
:heap-base #x150
|
||||
:flag-assert #x4c015001bc
|
||||
(:states
|
||||
kermit-idle
|
||||
kermit-chase
|
||||
kermit-retract-tongue
|
||||
kermit-tongue-stuck
|
||||
kermit-patrol
|
||||
kermit-attack
|
||||
kermit-chase-new-position
|
||||
kermit-give-up
|
||||
kermit-notice)
|
||||
)
|
||||
|
||||
;; - Functions
|
||||
|
@ -31773,8 +31786,8 @@
|
|||
(define-extern kermit-long-hop (function symbol :behavior kermit))
|
||||
(define-extern kermit-short-hop (function symbol :behavior kermit))
|
||||
(define-extern kermit-pulse-init-by-other (function vector entity none :behavior kermit-pulse))
|
||||
(define-extern joint-mod-tracker-callback (function basic vector none)) ;; TODO - no idea what this basic is!
|
||||
(define-extern build-matrix-from-up-and-forward-axes! (function matrix none))
|
||||
(define-extern joint-mod-tracker-callback (function cspace transformq none))
|
||||
(define-extern build-matrix-from-up-and-forward-axes! (function matrix vector int vector int matrix))
|
||||
(define-extern kermit-get-head-dir (function kermit vector vector))
|
||||
(define-extern kermit-post (function none :behavior kermit))
|
||||
|
||||
|
@ -31782,17 +31795,6 @@
|
|||
|
||||
(define-extern *kermit-sg* skeleton-group)
|
||||
(define-extern *kermit-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern kermit-idle (state kermit)) ;; unknown type
|
||||
(define-extern kermit-chase (state kermit)) ;; unknown type
|
||||
(define-extern kermit-retract-tongue (state kermit)) ;; unknown type
|
||||
(define-extern kermit-tongue-stuck (state kermit)) ;; unknown type
|
||||
(define-extern kermit-patrol (state kermit)) ;; unknown type
|
||||
(define-extern kermit-attack (state kermit)) ;; unknown type
|
||||
(define-extern kermit-chase-new-position (state kermit)) ;; unknown type
|
||||
(define-extern kermit-give-up (state kermit)) ;; unknown type
|
||||
(define-extern kermit-notice (state kermit)) ;; unknown type
|
||||
(define-extern kermit-pulse-idle (state kermit-pulse)) ;; unknown type
|
||||
(define-extern kermit-pulse-impact (state kermit-pulse)) ;; unknown type
|
||||
|
||||
|
||||
;; ----------------------
|
||||
|
|
|
@ -314,7 +314,6 @@
|
|||
"(anon-function 21 plant-boss)", // CFG
|
||||
"mistycannon-find-best-solution",
|
||||
"target-flut-falling-anim-trans", // CFG failure
|
||||
"kermit-check-to-hit-player?",
|
||||
"(anon-function 36 mistycannon)",
|
||||
"(anon-function 6 title-obs)",
|
||||
"(anon-function 43 maincave-obs)",
|
||||
|
|
|
@ -5884,5 +5884,16 @@
|
|||
[32, "vector"]
|
||||
],
|
||||
|
||||
"joint-mod-tracker-callback": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"build-matrix-from-up-and-forward-axes!": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below!": []
|
||||
}
|
||||
|
|
|
@ -6981,5 +6981,9 @@
|
|||
[479, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"joint-mod-tracker-callback": [
|
||||
[[3, 99], "s4", "joint-mod-tracker"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -12,6 +12,7 @@ files = args.files.split(",")
|
|||
throw_error = False
|
||||
|
||||
method_split_pattern = re.compile('t9-\d+\s\(method-of-object')
|
||||
function_split_pattern = re.compile('\(t9-\d+\)')
|
||||
missing_res_tag_pattern = re.compile('(sv-\d{2,} int)')
|
||||
decompiler_error_pattern = re.compile(';; ERROR')
|
||||
|
||||
|
@ -37,6 +38,11 @@ for file in files:
|
|||
print("method_split - {}:{}".format(file_path, lineno + 1))
|
||||
throw_error = True
|
||||
continue
|
||||
function_split_match = function_split_pattern.search(line)
|
||||
if function_split_match:
|
||||
print("function_split - {}:{}".format(file_path, lineno + 1))
|
||||
throw_error = True
|
||||
continue
|
||||
missing_res_tag_match = missing_res_tag_pattern.search(line)
|
||||
if missing_res_tag_match:
|
||||
print("missing_res_tag - {}:{}".format(file_path, lineno + 1))
|
||||
|
|
1843
test/decompiler/reference/levels/swamp/kermit_REF.gc
generated
vendored
Normal file
1843
test/decompiler/reference/levels/swamp/kermit_REF.gc
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue