decomp: finish plant-boss and crates (#1012)

* stuck: `crates` has issues setting bitfield with `r0`

* decomp: finish `plant-boss` except for 1 function

* decomp: finish `crates`

* address feedback
This commit is contained in:
Tyler Wilding
2021-12-18 01:31:14 -05:00
committed by GitHub
parent 574a61e02a
commit e6d17eb78f
9 changed files with 8989 additions and 26 deletions
+7 -7
View File
@@ -21165,7 +21165,7 @@
(bounce-on () _type_ :state 23) ;; state
(notice-blue (handle) _type_ :state 24)
(params-init (_type_ entity) none 25)
(art-init (_type_) none 26)
(art-init (_type_) crate 26)
(params-set! (_type_ symbol symbol) none 27)
(dummy-28 (_type_) none 28)
(smush-update! (_type_) none 29)
@@ -27610,7 +27610,7 @@
(plant-boss-back-arms-hit symbol)
(plant-boss-back-arms-die symbol)
(plant-boss-arm-die symbol)
plant-boss-arm-hit
(plant-boss-arm-hit basic)
plant-boss-back-arms-idle
plant-boss-arm-idle
)
@@ -27627,12 +27627,12 @@
:size-assert #xc0
:flag-assert #x14005000c0
(:states
plant-boss-leaf-idle
plant-boss-leaf-die
(plant-boss-leaf-idle symbol)
(plant-boss-leaf-die basic)
(plant-boss-leaf-open-idle symbol)
plant-boss-leaf-close
plant-boss-leaf-bounce
plant-boss-leaf-open
(plant-boss-leaf-open symbol)
)
)
@@ -27663,9 +27663,9 @@
:size-assert #x124
:flag-assert #x1400c00124
(:states
plant-boss-root-die
(plant-boss-root-die symbol)
(plant-boss-vine-die symbol)
plant-boss-vine-hit
(plant-boss-vine-hit basic)
plant-boss-eat
plant-boss-vine-idle
plant-boss-root-idle
@@ -5146,7 +5146,7 @@
"(code plant-boss-arm-die)": [
[3, "v1", "collide-shape-prim-group"],
[18, "a0", "collide-shape-prim-group"],
[[11, 26], "a0", "collide-shape-prim-mesh"],
[58, "v1", "art-joint-anim"],
[109, "v1", "art-joint-anim"],
[165, "v1", "art-joint-anim"],
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+7
View File
@@ -15,6 +15,7 @@ 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')
missing_state_arg = re.compile('\s\(-> arg3 param \d\)\s')
for file in files:
src_path = ""
@@ -53,6 +54,12 @@ for file in files:
print("decompiler_error - {}:{}".format(file_path, lineno + 1))
throw_error = True
continue
# todo - not good enough, ignore if there is only whitespace on the leftof the match
# missing_state_arg_match = missing_state_arg.search(line)
# if missing_state_arg_match:
# print("missing_state_arg - {}:{}".format(file_path, lineno + 1))
# throw_error = True
# continue
if throw_error:
print("found potential problems!")
+2 -1
View File
@@ -32,7 +32,8 @@ files_with_modifications = [
"logic-target",
"default-menu",
"collide-shape",
"cam-states"
"cam-states",
"plant-boss"
]
for file in files:
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+3
View File
@@ -195,6 +195,9 @@
],
"manipy-idle": [
"code" // handle casts
],
"plant-boss-intro": [
"code" // cfg
]
}
}