mirror of
https://github.com/open-goal/jak-project
synced 2026-09-07 19:40:48 -04:00
[decomp] fisher and FIN.DGO (finalboss) level (#899)
* decomp `fisher`, `robotboss`, `light-eco`, `green-eco-lurker`, `sage-finalboss`, `robotboss-weapon`, `robotboss-misc` * fixes * add files * add `:states` list to `deftype` and fix files * test state forward decl's on a few more types * also the refs * add light-eco * whatever
This commit is contained in:
@@ -1385,10 +1385,11 @@ TypeState StackSpillLoadOp::propagate_types_internal(const TypeState& input,
|
||||
const Env& env,
|
||||
DecompilerTypeSystem&) {
|
||||
// stack slot load
|
||||
auto info = env.stack_spills().lookup(m_offset);
|
||||
auto& info = env.stack_spills().lookup(m_offset);
|
||||
if (info.size != m_size) {
|
||||
env.func->warnings.general_warning("Stack slot load mismatch: defined as size {}, got size {}",
|
||||
info.size, m_size);
|
||||
env.func->warnings.general_warning(
|
||||
"Stack slot load at {} mismatch: defined as size {}, got size {}", m_offset, info.size,
|
||||
m_size);
|
||||
}
|
||||
|
||||
if (info.is_signed != m_is_signed) {
|
||||
@@ -1404,7 +1405,7 @@ TypeState StackSpillLoadOp::propagate_types_internal(const TypeState& input,
|
||||
TypeState StackSpillStoreOp::propagate_types_internal(const TypeState& input,
|
||||
const Env& env,
|
||||
DecompilerTypeSystem& dts) {
|
||||
auto info = env.stack_spills().lookup(m_offset);
|
||||
auto& info = env.stack_spills().lookup(m_offset);
|
||||
if (info.size != m_size) {
|
||||
env.func->warnings.general_warning(
|
||||
"Stack slot store mismatch: defined as size {}, got size {}\n", info.size, m_size);
|
||||
|
||||
+529
-803
File diff suppressed because it is too large
Load Diff
@@ -579,7 +579,7 @@
|
||||
[3, "(function basic symbol)"],
|
||||
[2, "(function process symbol)"]
|
||||
],
|
||||
|
||||
|
||||
"anim-tester": [
|
||||
[11, "(function none :behavior anim-tester)"],
|
||||
[12, "(function none :behavior anim-tester)"],
|
||||
@@ -590,7 +590,7 @@
|
||||
[1, "(function none :behavior camera-combiner)"],
|
||||
[2, "(function basic int basic event-message-block object :behavior camera-combiner)"]
|
||||
],
|
||||
|
||||
|
||||
"title-obs": [
|
||||
[0, "(function none)"]
|
||||
],
|
||||
@@ -669,7 +669,7 @@
|
||||
[2, "(function sparticle-launch-group :behavior oracle)"],
|
||||
[3, "(function none :behavior oracle)"]
|
||||
],
|
||||
|
||||
|
||||
"time-of-day": [
|
||||
[10, "(function none :behavior time-of-day-proc)"],
|
||||
[12, "(function sparticle-system sparticle-cpuinfo none)"]
|
||||
@@ -757,5 +757,39 @@
|
||||
[6, "(function sparticle-system sparticle-cpuinfo none)"]
|
||||
],
|
||||
|
||||
"fisher-JUN": [
|
||||
[27, "(function none :behavior process)"],
|
||||
[28, "(function none :behavior fisher)"],
|
||||
[20, "(function none :behavior fisher-fish)"],
|
||||
[1, "(function none :behavior target)"]
|
||||
],
|
||||
"fisher-JUNGLE-L1": [
|
||||
[27, "(function none :behavior process)"],
|
||||
[28, "(function none :behavior fisher)"],
|
||||
[20, "(function none :behavior fisher-fish)"],
|
||||
[1, "(function none :behavior target)"]
|
||||
],
|
||||
|
||||
"robotboss-misc": [
|
||||
[5, "(function sparticle-launch-control :behavior finalbosscam)"]
|
||||
],
|
||||
|
||||
"sage-finalboss-FIN": [
|
||||
[21, "(function none :behavior sage-finalboss)"],
|
||||
[22, "(function none :behavior sage-finalboss)"],
|
||||
[15, "(function final-door symbol)"],
|
||||
[16, "(function final-door symbol)"],
|
||||
[7, "(function final-door symbol)"],
|
||||
[6, "(function final-door symbol)"]
|
||||
],
|
||||
"sage-finalboss-L1": [
|
||||
[21, "(function none :behavior sage-finalboss)"],
|
||||
[22, "(function none :behavior sage-finalboss)"],
|
||||
[15, "(function final-door symbol)"],
|
||||
[16, "(function final-door symbol)"],
|
||||
[7, "(function final-door symbol)"],
|
||||
[6, "(function final-door symbol)"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -353,9 +353,6 @@
|
||||
"(method 27 ropebridge)",
|
||||
|
||||
// all unchecked and in level DGO code
|
||||
"(anon-function 11 robotboss)",
|
||||
"(anon-function 18 robotboss)",
|
||||
"(anon-function 49 robotboss)",
|
||||
"(anon-function 21 plant-boss)",
|
||||
"(anon-function 10 ice-cube)",
|
||||
"(anon-function 15 ice-cube)",
|
||||
|
||||
@@ -868,6 +868,159 @@
|
||||
["L670", "uint64", true]
|
||||
],
|
||||
|
||||
"fisher-JUN": [
|
||||
["L262", "vector"],
|
||||
["L463", "(array (inline-array fisher-params))"]
|
||||
],
|
||||
"fisher-JUNGLE-L1": [
|
||||
["L262", "vector"],
|
||||
["L463", "(array (inline-array fisher-params))"]
|
||||
],
|
||||
|
||||
"robotboss-weapon": [
|
||||
["L122", "attack-info"],
|
||||
["L127", "attack-info"],
|
||||
["L138", "attack-info"],
|
||||
["L144", "vector4w"],
|
||||
["L145", "vector"]
|
||||
],
|
||||
|
||||
"robotboss-misc": [
|
||||
["L99", "vector"]
|
||||
],
|
||||
|
||||
"robotboss": [
|
||||
["L646", "attack-info"],
|
||||
["L647", "attack-info"],
|
||||
["L651", "vector"],
|
||||
["L654", "vector"],
|
||||
["L655", "vector"],
|
||||
["L656", "vector"],
|
||||
["L657", "vector"],
|
||||
["L658", "vector"],
|
||||
["L659", "vector"],
|
||||
["L660", "vector"],
|
||||
["L661", "vector"],
|
||||
["L662", "vector"],
|
||||
["L678", "vector"],
|
||||
["L669", "vector"],
|
||||
["L701", "vector"],
|
||||
["L702", "vector"],
|
||||
["L703", "vector"],
|
||||
["L705", "vector"],
|
||||
["L642", "robotboss-dda"],
|
||||
["L643", "robotboss-dda"],
|
||||
["L644", "robotboss-dda"],
|
||||
["L645", "robotboss-dda"],
|
||||
["L632", "robotboss-dda"],
|
||||
["L713", "float", true],
|
||||
["L714", "float", true],
|
||||
["L715", "float", true],
|
||||
["L716", "float", true],
|
||||
["L717", "float", true],
|
||||
["L718", "float", true],
|
||||
["L719", "float", true],
|
||||
["L720", "float", true],
|
||||
["L721", "float", true],
|
||||
["L722", "float", true],
|
||||
["L723", "float", true],
|
||||
["L724", "float", true],
|
||||
["L725", "float", true],
|
||||
["L726", "float", true],
|
||||
["L727", "float", true],
|
||||
["L728", "float", true],
|
||||
["L729", "float", true],
|
||||
["L730", "float", true],
|
||||
["L731", "float", true],
|
||||
["L732", "float", true],
|
||||
["L733", "float", true],
|
||||
["L734", "float", true],
|
||||
["L735", "float", true],
|
||||
["L736", "float", true],
|
||||
["L737", "float", true],
|
||||
["L738", "float", true],
|
||||
["L739", "float", true],
|
||||
["L740", "float", true],
|
||||
["L741", "float", true],
|
||||
["L742", "float", true],
|
||||
["L743", "float", true],
|
||||
["L744", "float", true],
|
||||
["L745", "float", true],
|
||||
["L746", "float", true],
|
||||
["L747", "float", true],
|
||||
["L748", "float", true],
|
||||
["L749", "float", true],
|
||||
["L750", "float", true],
|
||||
["L751", "float", true],
|
||||
["L752", "float", true],
|
||||
["L753", "float", true],
|
||||
["L754", "float", true],
|
||||
["L755", "float", true],
|
||||
["L756", "float", true],
|
||||
["L757", "float", true],
|
||||
["L758", "float", true],
|
||||
["L759", "float", true],
|
||||
["L760", "float", true],
|
||||
["L761", "float", true],
|
||||
["L762", "float", true],
|
||||
["L763", "float", true],
|
||||
["L764", "float", true],
|
||||
["L765", "float", true],
|
||||
["L766", "float", true],
|
||||
["L767", "float", true],
|
||||
["L768", "(pointer float)", 1],
|
||||
["L769", "float", true],
|
||||
["L770", "float", true],
|
||||
["L771", "float", true],
|
||||
["L772", "float", true],
|
||||
["L773", "float", true],
|
||||
["L774", "float", true],
|
||||
["L775", "float", true],
|
||||
["L776", "float", true],
|
||||
["L777", "float", true],
|
||||
["L778", "float", true],
|
||||
["L779", "float", true],
|
||||
["L780", "float", true],
|
||||
["L781", "float", true],
|
||||
["L782", "float", true],
|
||||
["L783", "float", true],
|
||||
["L784", "float", true],
|
||||
["L785", "float", true],
|
||||
["L786", "float", true],
|
||||
["L787", "float", true],
|
||||
["L788", "float", true],
|
||||
["L789", "float", true],
|
||||
["L790", "float", true],
|
||||
["L791", "float", true],
|
||||
["L792", "float", true],
|
||||
["L793", "float", true],
|
||||
["L794", "float", true],
|
||||
["L795", "float", true],
|
||||
["L796", "float", true],
|
||||
["L797", "float", true],
|
||||
["L798", "float", true],
|
||||
["L799", "float", true],
|
||||
["L800", "float", true],
|
||||
["L801", "uint64", true],
|
||||
["L802", "uint64", true],
|
||||
["L803", "uint64", true],
|
||||
["L804", "uint64", true],
|
||||
["L814", "float", true],
|
||||
["L815", "uint64", true],
|
||||
["L816", "uint64", true]
|
||||
],
|
||||
|
||||
"sage-finalboss-FIN": [
|
||||
["L528", "vector"],
|
||||
["L272", "vector"],
|
||||
["L527", "quaternion"]
|
||||
],
|
||||
"sage-finalboss-L1": [
|
||||
["L528", "vector"],
|
||||
["L272", "vector"],
|
||||
["L527", "quaternion"]
|
||||
],
|
||||
|
||||
// please do not add things after this entry! git is dumb.
|
||||
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
|
||||
}
|
||||
|
||||
@@ -1855,7 +1855,7 @@
|
||||
"(method 11 wall-plat)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
|
||||
"(code plunger-lurker-plunge)": [[16, "event-message-block"]],
|
||||
"(event flying-lurker-fly)": [[16, "event-message-block"]],
|
||||
"(trans flying-lurker-fly)": [[16, "event-message-block"]],
|
||||
@@ -1882,7 +1882,7 @@
|
||||
[144, "vector"],
|
||||
[160, "vector"]
|
||||
],
|
||||
|
||||
|
||||
"(method 18 collide-cache)": [[16, "collide-cache-prim"]],
|
||||
|
||||
"kill-current-level-hint": [[16, "event-message-block"]],
|
||||
@@ -1917,7 +1917,7 @@
|
||||
|
||||
"sparticle-60-to-50":[
|
||||
[16, "quaternion"]
|
||||
],
|
||||
],
|
||||
|
||||
"sp-orbiter":[
|
||||
[16, "vector"],
|
||||
@@ -2741,7 +2741,7 @@
|
||||
[128, "vector"],
|
||||
[144, "vector"]
|
||||
],
|
||||
|
||||
|
||||
"(method 11 effect-control)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
@@ -2796,5 +2796,206 @@
|
||||
[16,["inline-array", "sky-vertex", 12]]
|
||||
],
|
||||
|
||||
"fisher-fish-move": [[16, "vector"]],
|
||||
"fisher-fish-water": [[16, "vector"]],
|
||||
"(trans play-accept fisher)": [[16, "vector"]],
|
||||
"(method 11 fisher)": [[16, "vector"]],
|
||||
"(code fisher-fish-caught)": [[16, "event-message-block"]],
|
||||
"(code fisher-fish-die)": [[16, "event-message-block"]],
|
||||
"(exit fisher-done)": [[16, "event-message-block"]],
|
||||
"(enter fisher-done)": [[16, "event-message-block"]],
|
||||
"(event fisher-playing)": [[16, "event-message-block"]],
|
||||
"(enter fisher-playing)": [[16, "event-message-block"]],
|
||||
"(exit fisher-playing)": [[16, "event-message-block"]],
|
||||
"(trans enter-playing fisher)": [[16, "event-message-block"]],
|
||||
"(code target-fishing)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"],
|
||||
[112, "quaternion"],
|
||||
[128, "quaternion"],
|
||||
[144, "quaternion"]
|
||||
],
|
||||
"(method 43 fisher)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"fisher-draw-display": [[16, "font-context"]],
|
||||
|
||||
"(method 10 torus)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"(method 12 torus)": [[16, "matrix"]],
|
||||
"redshot-trans": [[16, "matrix"]],
|
||||
"(trans redshot-explode)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
"(code darkecobomb-explode)": [[16, "event-message-block"]],
|
||||
"(event yellowshot-idle)": [[16, "event-message-block"]],
|
||||
"(trans yellowshot-idle)": [[16, "event-message-block"]],
|
||||
"(trans darkecobomb-countdown)": [[16, "vector"]],
|
||||
|
||||
"arcing-shot-draw": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(method 9 torus)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "matrix"],
|
||||
[128, ["inline-array", "vector", 8]]
|
||||
],
|
||||
|
||||
"(method 32 finalbosscam)": [[16, "event-message-block"]],
|
||||
|
||||
"(code cam-robotboss)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"ecoclaw-beam-particle-callback": [[16, "vector"]],
|
||||
"robotboss-manipy-trans-hook": [[16, "vector"]],
|
||||
"robotboss-redshot": [[16, "vector"]],
|
||||
"robotboss-cut-cam": [[16, "vector"]],
|
||||
|
||||
"robotboss-yellowshot": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "event-message-block"]
|
||||
],
|
||||
|
||||
"(trans robotboss-white-eco-movie)": [[16, "vector"]],
|
||||
|
||||
"(code robotboss-red-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "redshot-launch-array"]
|
||||
],
|
||||
|
||||
"(trans robotboss-yellow-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-setup-for-hits": [
|
||||
[16, "sphere"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-position": [
|
||||
[16, "vector"],
|
||||
[32, "matrix"],
|
||||
[96, "event-message-block"],
|
||||
[176, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-shooting-trans": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-darkecobomb": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-redshot-fill-array": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-blue-beam": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "collide-mesh-cache-tri"],
|
||||
[160, "vector"],
|
||||
[176, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-bomb-handler": [[16, "event-message-block"]],
|
||||
"robotboss-blue-done": [[16, "event-message-block"]],
|
||||
"(exit robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
"(enter robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-green-wait)": [[16, "event-message-block"]],
|
||||
"(event robotboss-green-wait)": [[16, "event-message-block"]],
|
||||
|
||||
"(trans robotboss-red-wait)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(exit robotboss-red-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-yellow-wait)": [[16, "event-message-block"]],
|
||||
"(code robotboss-white-eco-movie)": [[16, "event-message-block"]],
|
||||
"(event robotboss-yellow-dark-bomb-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-yellow-dark-bomb-wait)": [[16, "event-message-block"]],
|
||||
"(code robotboss-daxter-sacrifice-movie)": [[16, "event-message-block"]],
|
||||
|
||||
"robotboss-greenshot": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(trans robotboss-blue-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
|
||||
"(code robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
|
||||
"(method 44 green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(method 72 green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(enter nav-enemy-die green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(event spawn-minions)": [[16, "event-message-block"]],
|
||||
"(method 51 green-eco-lurker)": [[16, "vector"]],
|
||||
"(enter green-eco-lurker-appear)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"(code spawn-minions)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"check-drop-level-lighteco-big-pops": [[16, "vector"]],
|
||||
"check-drop-level-lighteco-pops": [[16, "vector"]],
|
||||
"(method 20 light-eco-child)": [[16, "vector"]],
|
||||
"light-eco-child-default-event-handler": [[16, "event-message-block"]],
|
||||
"(code light-eco-child-die)": [[16, "event-message-block"]],
|
||||
"light-eco-mother-default-event-handler": [[16, "event-message-block"]],
|
||||
"(trans light-eco-child-hit-ground)": [[16, "vector"]],
|
||||
"(method 21 light-eco-mother)": [[16, "vector"]],
|
||||
"(method 20 light-eco-mother)": [[16, "vector"]],
|
||||
|
||||
"(trans plat-path-active plat-eco-finalboss)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "event-message-block"]
|
||||
],
|
||||
"(method 44 sage-finalboss)": [[16, "event-message-block"]],
|
||||
"(method 45 sage-finalboss)": [[16, "event-message-block"]],
|
||||
"(method 32 sage-finalboss)": [[16, "event-message-block"]],
|
||||
"(exit play-anim sage-finalboss)": [[16, "event-message-block"]],
|
||||
"sage-finalboss-extra-trans": [[16, "event-message-block"]],
|
||||
"sage-finalboss-extra-enter": [[16, "event-message-block"]],
|
||||
"(trans play-anim sage-finalboss)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"],
|
||||
[112, "vector"],
|
||||
[128, "vector"],
|
||||
[144, "vector"],
|
||||
[160, "vector"],
|
||||
[176, "vector"],
|
||||
[192, "vector"],
|
||||
[208, "vector"],
|
||||
[224, "vector"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below!": []
|
||||
}
|
||||
|
||||
@@ -3961,7 +3961,7 @@
|
||||
[111, "s2", "(pointer gs-tex1)"],
|
||||
[113, "s2", "(pointer gs-reg64)"],
|
||||
[115, "s2", "(pointer gs-clamp)"],
|
||||
[117, "s2", "(pointer gs-reg64)"],
|
||||
[117, "s2", "(pointer gs-reg64)"],
|
||||
[118, "s2", "(pointer uint64)"],
|
||||
[120, "s2", "(pointer gs-reg64)"],
|
||||
[[159, 166], "s3", "dma-packet"],
|
||||
@@ -4063,5 +4063,273 @@
|
||||
[[75, 78], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"fisher-fish-move": [
|
||||
[9, "v1", "fisher"],
|
||||
[21, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-fall)": [
|
||||
[5, "v1", "fisher"],
|
||||
[60, "v1", "fisher"],
|
||||
[79, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-caught)": [
|
||||
[169, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-die)": [
|
||||
[35, "v1", "fisher"],
|
||||
[47, "v1", "fisher"],
|
||||
[90, "v1", "fisher"],
|
||||
[98, "v1", "fisher"],
|
||||
[112, "v1", "fisher"],
|
||||
[129, "v1", "fisher"],
|
||||
[137, "v1", "fisher"],
|
||||
[151, "v1", "fisher"],
|
||||
[165, "v1", "fisher"],
|
||||
[179, "v1", "fisher"],
|
||||
[193, "v1", "fisher"],
|
||||
[205, "v1", "fisher"],
|
||||
[209, "v1", "fisher"],
|
||||
[27, "v1", "float"],
|
||||
[79, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 38 fisher)": [
|
||||
[33, "t9", "(function fisher none)"]
|
||||
],
|
||||
|
||||
"(enter fisher-done)": [
|
||||
[137, "f0", "float"],
|
||||
[148, "f0", "float"],
|
||||
[213, "f0", "float"]
|
||||
],
|
||||
|
||||
"fisher-spawn-ambient": [
|
||||
[8, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 43 fisher)": [
|
||||
[27, "v1", "float"],
|
||||
[69, "v1", "float"]
|
||||
],
|
||||
|
||||
"(trans play-accept fisher)": [
|
||||
[101, "v0", "state"]
|
||||
],
|
||||
|
||||
"(trans idle fisher)": [
|
||||
[4, "v0", "state"]
|
||||
],
|
||||
|
||||
"(code idle fisher)": [
|
||||
[132, "v1", "art-joint-anim"],
|
||||
[35, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code target-fishing)": [
|
||||
[163, "v1", "fisher"],
|
||||
[290, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(method 11 torus)": [
|
||||
[[5, 22], "s4", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(method 12 torus)": [
|
||||
[11, "v1", "float"],
|
||||
[51, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-countdown)": [
|
||||
[25, "v1", "art-joint-anim"],
|
||||
[75, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-land)": [
|
||||
[36, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-idle)": [
|
||||
[10, "v1", "art-joint-anim"],
|
||||
[60, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"redshot-particle-callback": [
|
||||
[2, "v1", "(pointer redshot)"]
|
||||
],
|
||||
|
||||
"(event cam-robotboss)": [
|
||||
[5, "v1", "vector"]
|
||||
],
|
||||
|
||||
"ecoclaw-handler": [
|
||||
[73, "v1", "vector"]
|
||||
],
|
||||
|
||||
"(event idle silodoor)": [
|
||||
[4, "v1", "float"]
|
||||
],
|
||||
|
||||
"ecoclaw-beam-particle-callback": [
|
||||
[1, "a0", "(pointer projectile)"],
|
||||
[3, "a0", "(pointer projectile)"]
|
||||
],
|
||||
|
||||
"(method 32 finalbosscam)": [
|
||||
[156, "v1", "robotboss"]
|
||||
],
|
||||
|
||||
"(trans ecoclaw-activate)": [
|
||||
[30, "a0", "part-tracker"]
|
||||
],
|
||||
|
||||
"robotboss-position": [
|
||||
[109, "a0", "process-drawable"]
|
||||
],
|
||||
|
||||
"robotboss-bomb-handler": [
|
||||
[6, "v1", "float"]
|
||||
],
|
||||
|
||||
"robotboss-handler": [
|
||||
[6, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-red-wait)": [
|
||||
[12, "v1", "float"],
|
||||
[68, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-yellow-wait)": [
|
||||
[12, "v1", "float"],
|
||||
[68, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code robotboss-white-eco-movie)": [
|
||||
[[188, 215], "gp", "handle"]
|
||||
],
|
||||
|
||||
"(code robotboss-yellow-wait)": [
|
||||
[336, "v1", "float"],
|
||||
[365, "v1", "float"],
|
||||
[530, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code robotboss-red-wait)": [
|
||||
[153, "v1", "float"],
|
||||
[287, "v1", "float"],
|
||||
[339, "v1", "float"],
|
||||
[500, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"robotboss-redshot": [
|
||||
[45, "v1", "float"],
|
||||
[70, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-green-wait)": [
|
||||
[39, "v1", "float"],
|
||||
[95, "v1", "float"]
|
||||
],
|
||||
|
||||
"(exit robotboss-yellow-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-green-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-red-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-blue-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"robotboss-redshot-fill-array": [
|
||||
[24, "v1", "float"],
|
||||
[46, "v1", "float"],
|
||||
[109, "v1", "float"],
|
||||
[137, "v1", "float"],
|
||||
[137, "v1", "float"]
|
||||
],
|
||||
|
||||
"(trans robotboss-blue-wait)": [
|
||||
[254, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code robotboss-blue-wait)": [
|
||||
[14, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(enter green-eco-lurker-appear)": [
|
||||
[12, "v1", "robotboss"],
|
||||
[17, "v1", "robotboss"]
|
||||
],
|
||||
|
||||
"(code green-eco-lurker-appear)": [
|
||||
[42, "v1", "art-joint-anim"],
|
||||
[93, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code green-eco-lurker-appear-land)": [
|
||||
[74, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code nav-enemy-chase green-eco-lurker)": [
|
||||
[55, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code nav-enemy-patrol green-eco-lurker)": [
|
||||
[8, "t9", "(function none)"]
|
||||
],
|
||||
|
||||
"(trans light-eco-child-hit-ground)": [
|
||||
[63, "v1", "light-eco-mother"],
|
||||
[75, "a1", "light-eco-mother"],
|
||||
[88, "a1", "light-eco-mother"]
|
||||
],
|
||||
|
||||
"(event plat-path-active plat-eco-finalboss)": [
|
||||
[10, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 45 sage-finalboss)": [
|
||||
[[40, 57], "s5", "manipy"]
|
||||
],
|
||||
|
||||
"(method 32 sage-finalboss)": [
|
||||
[[241, 245], "v1", "manipy"],
|
||||
[[309, 313], "v1", "manipy"]
|
||||
],
|
||||
|
||||
"(trans play-anim sage-finalboss)": [
|
||||
[[179, 183], "a0", "manipy"],
|
||||
[[216, 220], "a0", "manipy"],
|
||||
[[295, 299], "a1", "manipy"],
|
||||
[[334, 338], "a1", "manipy"],
|
||||
[[371, 375], "a1", "manipy"],
|
||||
[391, "v0", "final-door"],
|
||||
[396, "v0", "final-door"]
|
||||
],
|
||||
|
||||
"(method 7 sage-finalboss)": [
|
||||
[2, "v1", "(inline-array sage-finalboss-particle)"],
|
||||
[6, "v1", "(inline-array sage-finalboss-particle)"],
|
||||
[10, "v1", "(inline-array sage-finalboss-particle)"]
|
||||
],
|
||||
|
||||
"(trans fisher-done)": [
|
||||
[[41, 46], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -3547,11 +3547,35 @@
|
||||
}
|
||||
},
|
||||
|
||||
"(trans fisher-done)": {
|
||||
"vars": {
|
||||
"v1-13": ["v1-13", "dma-packet"]
|
||||
}
|
||||
},
|
||||
|
||||
"anim-tester-get-playing-item": {
|
||||
"vars": {
|
||||
"v0-0": ["v0-0", "anim-test-seq-item"]
|
||||
}
|
||||
},
|
||||
|
||||
"light-eco-mother-default-event-handler": {
|
||||
"vars": {
|
||||
"v0-0": ["v0-0", "int"]
|
||||
}
|
||||
},
|
||||
|
||||
"(method 7 sage-finalboss)": {
|
||||
"vars": {
|
||||
"v1-0": ["v1-0", "(inline-array sage-finalboss-particle)"]
|
||||
}
|
||||
},
|
||||
|
||||
"(code robotboss-white-eco-movie)": {
|
||||
"vars": {
|
||||
"gp-1": ["gp-1", "handle"]
|
||||
}
|
||||
},
|
||||
|
||||
"aaaaaaaaaaaaaaaaaaaaaaa": {}
|
||||
}
|
||||
|
||||
@@ -579,7 +579,7 @@
|
||||
[3, "(function basic symbol)"],
|
||||
[2, "(function process symbol)"]
|
||||
],
|
||||
|
||||
|
||||
"anim-tester": [
|
||||
[11, "(function none :behavior anim-tester)"],
|
||||
[12, "(function none :behavior anim-tester)"],
|
||||
@@ -590,7 +590,7 @@
|
||||
[1, "(function none :behavior camera-combiner)"],
|
||||
[2, "(function basic int basic event-message-block object :behavior camera-combiner)"]
|
||||
],
|
||||
|
||||
|
||||
"title-obs": [
|
||||
[0, "(function none)"]
|
||||
],
|
||||
@@ -669,10 +669,10 @@
|
||||
[2, "(function sparticle-launch-group :behavior oracle)"],
|
||||
[3, "(function none :behavior oracle)"]
|
||||
],
|
||||
|
||||
|
||||
"time-of-day": [
|
||||
[10, "(function none)"],
|
||||
[12, "(function sparticle-system sparticle-cpuinfo int none)"]
|
||||
[10, "(function none :behavior time-of-day-proc)"],
|
||||
[12, "(function sparticle-system sparticle-cpuinfo none)"]
|
||||
],
|
||||
|
||||
"basebutton": [
|
||||
@@ -761,5 +761,22 @@
|
||||
[29, "(function none)"]
|
||||
],
|
||||
|
||||
"fisher-JUN": [
|
||||
[27, "(function none :behavior process)"],
|
||||
[28, "(function none :behavior fisher)"],
|
||||
[20, "(function none :behavior fisher-fish)"],
|
||||
[1, "(function none :behavior target)"]
|
||||
],
|
||||
"fisher-JUNGLE-L1": [
|
||||
[27, "(function none :behavior process)"],
|
||||
[28, "(function none :behavior fisher)"],
|
||||
[20, "(function none :behavior fisher-fish)"],
|
||||
[1, "(function none :behavior target)"]
|
||||
],
|
||||
|
||||
"robotboss-misc": [
|
||||
[5, "(function sparticle-launch-control :behavior finalbosscam)"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -353,9 +353,6 @@
|
||||
"(method 27 ropebridge)",
|
||||
|
||||
// all unchecked and in level DGO code
|
||||
"(anon-function 11 robotboss)",
|
||||
"(anon-function 18 robotboss)",
|
||||
"(anon-function 49 robotboss)",
|
||||
"(anon-function 21 plant-boss)",
|
||||
"(anon-function 10 ice-cube)",
|
||||
"(anon-function 15 ice-cube)",
|
||||
@@ -548,7 +545,15 @@
|
||||
"particle-adgif",
|
||||
"sp-launch-particles-var",
|
||||
"sp-process-block-2d",
|
||||
"sp-process-block-3d"
|
||||
"sp-process-block-3d",
|
||||
"draw-large-polygon",
|
||||
"clip-polygon-against-positive-hyperplane",
|
||||
"clip-polygon-against-negative-hyperplane",
|
||||
"render-sky-quad",
|
||||
"render-sky-tri",
|
||||
"init-sky-regs",
|
||||
"set-tex-offset",
|
||||
"adgif-shader<-texture-with-update!"
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@@ -803,6 +803,217 @@
|
||||
["L733", "uint64", true]
|
||||
],
|
||||
|
||||
"sky": [
|
||||
["L13", "vu-function"]
|
||||
],
|
||||
|
||||
"sky-tng": [
|
||||
["L82", "sky-work"],
|
||||
// 576 bytes, 32 bytes each
|
||||
["L81", "(inline-array sky-vertex)", 12],
|
||||
["L80", "(inline-array sky-vertex)", 12],
|
||||
["L79", "(inline-array sky-vertex)", 72],
|
||||
["L78", "(pointer uint8)", 48],
|
||||
["L77", "vector"],
|
||||
["L76", "vector"]
|
||||
],
|
||||
|
||||
"effect-control": [
|
||||
["L300", "float", true],
|
||||
["L301", "float", true],
|
||||
["L302", "float", true],
|
||||
["L306", "float", true],
|
||||
["L307", "float", true],
|
||||
["L309", "float", true],
|
||||
["L310", "float", true],
|
||||
["L312", "float", true],
|
||||
["L314", "float", true]
|
||||
],
|
||||
|
||||
"seagull": [
|
||||
["L226", "(inline-array air-box)", 20]
|
||||
],
|
||||
|
||||
"rolling-race-ring": [
|
||||
["L94", "vector"],
|
||||
["L95", "vector"],
|
||||
["L96", "vector"],
|
||||
["L97", "vector"],
|
||||
["L98", "vector"],
|
||||
["L99", "vector"],
|
||||
["L100", "vector"]
|
||||
],
|
||||
|
||||
"part-tester": [
|
||||
["L32", "uint64", true]
|
||||
],
|
||||
|
||||
"anim-tester": [
|
||||
["L509", "(inline-array list-field)", 12],
|
||||
["L523", "vector"],
|
||||
["L524", "vector"],
|
||||
["L649", "(pointer float)", 1],
|
||||
["L650", "(pointer float)", 1],
|
||||
["L651", "(pointer float)", 1],
|
||||
["L652", "(pointer float)", 1],
|
||||
["L653", "(pointer float)", 1],
|
||||
["L654", "(pointer float)", 1],
|
||||
["L655", "(pointer float)", 1],
|
||||
["L656", "(pointer float)", 1],
|
||||
["L657", "uint64", true],
|
||||
["L658", "uint64", true],
|
||||
["L663", "uint64", true],
|
||||
["L664", "uint64", true],
|
||||
["L665", "uint64", true],
|
||||
["L666", "uint64", true],
|
||||
["L667", "uint64", true],
|
||||
["L668", "uint64", true],
|
||||
["L669", "uint64", true],
|
||||
["L670", "uint64", true]
|
||||
],
|
||||
|
||||
"fisher-JUN": [
|
||||
["L262", "vector"],
|
||||
["L463", "(array (inline-array fisher-params))"]
|
||||
],
|
||||
"fisher-JUNGLE-L1": [
|
||||
["L262", "vector"],
|
||||
["L463", "(array (inline-array fisher-params))"]
|
||||
],
|
||||
|
||||
"robotboss-weapon": [
|
||||
["L122", "attack-info"],
|
||||
["L127", "attack-info"],
|
||||
["L138", "attack-info"],
|
||||
["L144", "vector4w"],
|
||||
["L145", "vector"]
|
||||
],
|
||||
|
||||
"robotboss-misc": [
|
||||
["L99", "vector"]
|
||||
],
|
||||
|
||||
"robotboss": [
|
||||
["L646", "attack-info"],
|
||||
["L647", "attack-info"],
|
||||
["L651", "vector"],
|
||||
["L654", "vector"],
|
||||
["L655", "vector"],
|
||||
["L656", "vector"],
|
||||
["L657", "vector"],
|
||||
["L658", "vector"],
|
||||
["L659", "vector"],
|
||||
["L660", "vector"],
|
||||
["L661", "vector"],
|
||||
["L662", "vector"],
|
||||
["L678", "vector"],
|
||||
["L669", "vector"],
|
||||
["L701", "vector"],
|
||||
["L702", "vector"],
|
||||
["L703", "vector"],
|
||||
["L705", "vector"],
|
||||
["L642", "robotboss-dda"],
|
||||
["L643", "robotboss-dda"],
|
||||
["L644", "robotboss-dda"],
|
||||
["L645", "robotboss-dda"],
|
||||
["L632", "robotboss-dda"],
|
||||
["L713", "float", true],
|
||||
["L714", "float", true],
|
||||
["L715", "float", true],
|
||||
["L716", "float", true],
|
||||
["L717", "float", true],
|
||||
["L718", "float", true],
|
||||
["L719", "float", true],
|
||||
["L720", "float", true],
|
||||
["L721", "float", true],
|
||||
["L722", "float", true],
|
||||
["L723", "float", true],
|
||||
["L724", "float", true],
|
||||
["L725", "float", true],
|
||||
["L726", "float", true],
|
||||
["L727", "float", true],
|
||||
["L728", "float", true],
|
||||
["L729", "float", true],
|
||||
["L730", "float", true],
|
||||
["L731", "float", true],
|
||||
["L732", "float", true],
|
||||
["L733", "float", true],
|
||||
["L734", "float", true],
|
||||
["L735", "float", true],
|
||||
["L736", "float", true],
|
||||
["L737", "float", true],
|
||||
["L738", "float", true],
|
||||
["L739", "float", true],
|
||||
["L740", "float", true],
|
||||
["L741", "float", true],
|
||||
["L742", "float", true],
|
||||
["L743", "float", true],
|
||||
["L744", "float", true],
|
||||
["L745", "float", true],
|
||||
["L746", "float", true],
|
||||
["L747", "float", true],
|
||||
["L748", "float", true],
|
||||
["L749", "float", true],
|
||||
["L750", "float", true],
|
||||
["L751", "float", true],
|
||||
["L752", "float", true],
|
||||
["L753", "float", true],
|
||||
["L754", "float", true],
|
||||
["L755", "float", true],
|
||||
["L756", "float", true],
|
||||
["L757", "float", true],
|
||||
["L758", "float", true],
|
||||
["L759", "float", true],
|
||||
["L760", "float", true],
|
||||
["L761", "float", true],
|
||||
["L762", "float", true],
|
||||
["L763", "float", true],
|
||||
["L764", "float", true],
|
||||
["L765", "float", true],
|
||||
["L766", "float", true],
|
||||
["L767", "float", true],
|
||||
["L768", "(pointer float)", 1],
|
||||
["L769", "float", true],
|
||||
["L770", "float", true],
|
||||
["L771", "float", true],
|
||||
["L772", "float", true],
|
||||
["L773", "float", true],
|
||||
["L774", "float", true],
|
||||
["L775", "float", true],
|
||||
["L776", "float", true],
|
||||
["L777", "float", true],
|
||||
["L778", "float", true],
|
||||
["L779", "float", true],
|
||||
["L780", "float", true],
|
||||
["L781", "float", true],
|
||||
["L782", "float", true],
|
||||
["L783", "float", true],
|
||||
["L784", "float", true],
|
||||
["L785", "float", true],
|
||||
["L786", "float", true],
|
||||
["L787", "float", true],
|
||||
["L788", "float", true],
|
||||
["L789", "float", true],
|
||||
["L790", "float", true],
|
||||
["L791", "float", true],
|
||||
["L792", "float", true],
|
||||
["L793", "float", true],
|
||||
["L794", "float", true],
|
||||
["L795", "float", true],
|
||||
["L796", "float", true],
|
||||
["L797", "float", true],
|
||||
["L798", "float", true],
|
||||
["L799", "float", true],
|
||||
["L800", "float", true],
|
||||
["L801", "uint64", true],
|
||||
["L802", "uint64", true],
|
||||
["L803", "uint64", true],
|
||||
["L804", "uint64", true],
|
||||
["L814", "float", true],
|
||||
["L815", "uint64", true],
|
||||
["L816", "uint64", true]
|
||||
],
|
||||
|
||||
// please do not add things after this entry! git is dumb.
|
||||
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
|
||||
}
|
||||
|
||||
@@ -1201,7 +1201,8 @@
|
||||
],
|
||||
|
||||
"update-time-of-day": [
|
||||
[16, "(array float)"] // TODO - broken!
|
||||
[16, "(array float)"], // TODO - broken!
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"check-drop-level-rain": [
|
||||
@@ -1854,7 +1855,7 @@
|
||||
"(method 11 wall-plat)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
|
||||
"(code plunger-lurker-plunge)": [[16, "event-message-block"]],
|
||||
"(event flying-lurker-fly)": [[16, "event-message-block"]],
|
||||
"(trans flying-lurker-fly)": [[16, "event-message-block"]],
|
||||
@@ -1881,7 +1882,7 @@
|
||||
[144, "vector"],
|
||||
[160, "vector"]
|
||||
],
|
||||
|
||||
|
||||
"(method 18 collide-cache)": [[16, "collide-cache-prim"]],
|
||||
|
||||
"kill-current-level-hint": [[16, "event-message-block"]],
|
||||
@@ -1916,7 +1917,7 @@
|
||||
|
||||
"sparticle-60-to-50":[
|
||||
[16, "quaternion"]
|
||||
],
|
||||
],
|
||||
|
||||
"sp-orbiter":[
|
||||
[16, "vector"],
|
||||
@@ -1952,9 +1953,7 @@
|
||||
],
|
||||
|
||||
"(method 10 gui-query)": [
|
||||
[16, "font-context"],
|
||||
[112, "font-context"],
|
||||
[208, "font-context"]
|
||||
[16, "font-context"]
|
||||
],
|
||||
|
||||
"(method 46 process-taskable)": [
|
||||
@@ -2735,5 +2734,244 @@
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(method 10 effect-control)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"],
|
||||
[112, "vector"],
|
||||
[128, "vector"],
|
||||
[144, "vector"]
|
||||
],
|
||||
|
||||
"(method 11 effect-control)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(method 12 effect-control)": [
|
||||
[16, "sound-spec"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(code helix-button-startup)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(method 43 green-eco-lurker)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(method 73 green-eco-lurker)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"citb-sagecage-draw-bars": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"(code sunken-pipegame-start-up)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code race-ring-active)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(method 11 race-ring)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"init-sky-regs": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"set-tex-offset": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"sky-tng-setup-cloud-layer": [
|
||||
[16,["inline-array", "sky-vertex", 12]]
|
||||
],
|
||||
|
||||
"fisher-fish-move": [[16, "vector"]],
|
||||
"fisher-fish-water": [[16, "vector"]],
|
||||
"(trans play-accept fisher)": [[16, "vector"]],
|
||||
"(method 11 fisher)": [[16, "vector"]],
|
||||
"(code fisher-fish-caught)": [[16, "event-message-block"]],
|
||||
"(code fisher-fish-die)": [[16, "event-message-block"]],
|
||||
"(exit fisher-done)": [[16, "event-message-block"]],
|
||||
"(enter fisher-done)": [[16, "event-message-block"]],
|
||||
"(event fisher-playing)": [[16, "event-message-block"]],
|
||||
"(enter fisher-playing)": [[16, "event-message-block"]],
|
||||
"(exit fisher-playing)": [[16, "event-message-block"]],
|
||||
"(trans enter-playing fisher)": [[16, "event-message-block"]],
|
||||
"(code target-fishing)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"],
|
||||
[112, "quaternion"],
|
||||
[128, "quaternion"],
|
||||
[144, "quaternion"]
|
||||
],
|
||||
"(method 43 fisher)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"fisher-draw-display": [[16, "font-context"]],
|
||||
|
||||
"(method 10 torus)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"(method 12 torus)": [[16, "matrix"]],
|
||||
"redshot-trans": [[16, "matrix"]],
|
||||
"(trans redshot-explode)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
"(code darkecobomb-explode)": [[16, "event-message-block"]],
|
||||
"(event yellowshot-idle)": [[16, "event-message-block"]],
|
||||
"(trans yellowshot-idle)": [[16, "event-message-block"]],
|
||||
"(trans darkecobomb-countdown)": [[16, "vector"]],
|
||||
|
||||
"arcing-shot-draw": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(method 9 torus)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "matrix"],
|
||||
[128, ["inline-array", "vector", 8]]
|
||||
],
|
||||
|
||||
"(method 32 finalbosscam)": [[16, "event-message-block"]],
|
||||
|
||||
"(code cam-robotboss)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"ecoclaw-beam-particle-callback": [[16, "vector"]],
|
||||
"robotboss-manipy-trans-hook": [[16, "vector"]],
|
||||
"robotboss-redshot": [[16, "vector"]],
|
||||
"robotboss-cut-cam": [[16, "vector"]],
|
||||
|
||||
"robotboss-yellowshot": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "event-message-block"]
|
||||
],
|
||||
|
||||
"(trans robotboss-white-eco-movie)": [[16, "vector"]],
|
||||
|
||||
"(code robotboss-red-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "redshot-launch-info"]
|
||||
],
|
||||
|
||||
"(trans robotboss-yellow-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-setup-for-hits": [
|
||||
[16, "sphere"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-position": [
|
||||
[16, "vector"],
|
||||
[32, "matrix"],
|
||||
[96, "event-message-block"],
|
||||
[176, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-shooting-trans": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-darkecobomb": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-redshot-fill-array": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-blue-beam": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "collide-mesh-cache-tri"],
|
||||
[160, "vector"],
|
||||
[176, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-bomb-handler": [[16, "event-message-block"]],
|
||||
"robotboss-blue-done": [[16, "event-message-block"]],
|
||||
"(exit robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
"(enter robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-green-wait)": [[16, "event-message-block"]],
|
||||
"(event robotboss-green-wait)": [[16, "event-message-block"]],
|
||||
|
||||
"(trans robotboss-red-wait)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(exit robotboss-red-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-yellow-wait)": [[16, "event-message-block"]],
|
||||
"(code robotboss-white-eco-movie)": [[16, "event-message-block"]],
|
||||
"(event robotboss-yellow-dark-bomb-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-yellow-dark-bomb-wait)": [[16, "event-message-block"]],
|
||||
"(code robotboss-daxter-sacrifice-movie)": [[16, "event-message-block"]],
|
||||
|
||||
"robotboss-greenshot": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(trans robotboss-blue-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
|
||||
"(code robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
|
||||
"(method 44 green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(method 72 green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(enter nav-enemy-die green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(event spawn-minions)": [[16, "event-message-block"]],
|
||||
"(method 51 green-eco-lurker)": [[16, "vector"]],
|
||||
"(enter green-eco-lurker-appear)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"(code spawn-minions)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"check-drop-level-lighteco-big-pops": [[16, "vector"]],
|
||||
"check-drop-level-lighteco-pops": [[16, "vector"]],
|
||||
"(method 20 light-eco-child)": [[16, "vector"]],
|
||||
"light-eco-child-default-event-handler": [[16, "event-message-block"]],
|
||||
"(code light-eco-child-die)": [[16, "event-message-block"]],
|
||||
"light-eco-mother-default-event-handler": [[16, "event-message-block"]],
|
||||
"(trans light-eco-child-hit-ground)": [[16, "vector"]],
|
||||
"(method 21 light-eco-mother)": [[16, "vector"]],
|
||||
"(method 20 light-eco-mother)": [[16, "vector"]],
|
||||
|
||||
"placeholder-do-not-add-below!": []
|
||||
}
|
||||
|
||||
@@ -1335,6 +1335,7 @@
|
||||
],
|
||||
|
||||
"(method 0 anim-test-seq-item)": [
|
||||
[7, "v0", "anim-test-seq-item"],
|
||||
[8, "v1", "anim-test-seq-item"],
|
||||
[10, "v0", "anim-test-seq-item"],
|
||||
[11, "v0", "anim-test-seq-item"],
|
||||
@@ -1444,14 +1445,17 @@
|
||||
"anim-test-obj-list-handler": [
|
||||
[25, "s5", "anim-test-obj"],
|
||||
[31, "s5", "anim-test-obj"],
|
||||
[[50, 53], "v1", "dma-packet"],
|
||||
[110, "s5", "anim-test-obj"],
|
||||
[166, "s5", "anim-test-obj"],
|
||||
[112, "v1", "anim-tester"]
|
||||
[112, "v1", "anim-tester"],
|
||||
[[202, 205], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"anim-test-anim-list-handler": [
|
||||
[2, "s5", "anim-test-obj"],
|
||||
[25, "s5", "anim-test-obj"],
|
||||
[[44, 47], "v1", "dma-packet"],
|
||||
[65, "s5", "anim-test-obj"],
|
||||
[227, "s5", "anim-test-obj"],
|
||||
[90, "v1", "anim-test-obj"],
|
||||
@@ -1465,13 +1469,15 @@
|
||||
[167, "v1", "anim-test-obj"],
|
||||
[169, "v1", "anim-test-obj"],
|
||||
[171, "v1", "anim-test-obj"],
|
||||
[173, "v1", "anim-test-obj"]
|
||||
[173, "v1", "anim-test-obj"],
|
||||
[[263, 266], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"anim-test-sequence-list-handler": [
|
||||
[2, "s5", "anim-test-sequence"],
|
||||
[25, "s5", "anim-test-sequence"],
|
||||
[31, "s5", "anim-test-sequence"],
|
||||
[[50, 53], "v1", "dma-packet"],
|
||||
[71, "s5", "anim-test-sequence"],
|
||||
[231, "s5", "anim-test-sequence"],
|
||||
[96, "v1", "anim-test-sequence"],
|
||||
@@ -1481,10 +1487,16 @@
|
||||
[136, "v1", "anim-test-sequence"],
|
||||
[137, "v1", "anim-test-sequence"],
|
||||
[146, "v1", "anim-test-sequence"],
|
||||
[151, "v1", "anim-test-sequence"]
|
||||
[151, "v1", "anim-test-sequence"],
|
||||
[[267, 270], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"anim-test-edit-sequence-list-handler": [
|
||||
[[82, 85], "v1", "dma-packet"],
|
||||
[[148, 151], "v1", "dma-packet"],
|
||||
[[323, 326], "v1", "dma-packet"],
|
||||
[[979, 982], "v1", "dma-packet"],
|
||||
[[1028, 1031], "v1", "dma-packet"],
|
||||
[[122, 965], "s4", "anim-test-sequence"],
|
||||
[129, "v1", "glst-named-node"],
|
||||
[[128, 909], "gp", "anim-test-seq-item"],
|
||||
@@ -1499,26 +1511,37 @@
|
||||
|
||||
"anim-tester-interface": [
|
||||
[[34, 48], "gp", "anim-test-obj"],
|
||||
[[70, 73], "v1", "dma-packet"],
|
||||
[[131, 134], "v1", "dma-packet"],
|
||||
[[189, 192], "v1", "dma-packet"],
|
||||
[[228, 231], "v1", "dma-packet"],
|
||||
[[95, 109], "gp", "anim-test-obj"],
|
||||
[[156, 160], "v1", "anim-test-obj"],
|
||||
[[162, 165], "v1", "anim-test-sequence"]
|
||||
],
|
||||
|
||||
"anim-tester-get-playing-item": [
|
||||
[7, "v0", "anim-test-seq-item"],
|
||||
[4, "t9", "(function glst-list int anim-test-seq-item)"],
|
||||
[20, "t9", "(function glst-list int anim-test-seq-item)"],
|
||||
[[5, 22], "s5", "anim-test-seq-item"],
|
||||
[21, "v0", "anim-test-seq-item"],
|
||||
[25, "v0", "anim-test-seq-item"]
|
||||
[25, "v0", "anim-test-seq-item"],
|
||||
[5, "v0", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"anim-tester-add-newobj": [
|
||||
["_stack_", 128, "anim-test-obj"],
|
||||
[[2, 185], "s2", "anim-test-obj"],
|
||||
[[70, 193], "s5", "anim-test-obj"],
|
||||
[149, "v1", "anim-test-sequence"],
|
||||
[154, "v1", "anim-test-sequence"],
|
||||
[160, "v1", "anim-test-sequence"],
|
||||
[164, "a0", "art-joint-anim"],
|
||||
[170, "a0", "art-joint-anim"]
|
||||
[168, "v1", "anim-test-seq-item"],
|
||||
[168, "v1", "anim-test-seq-item"],
|
||||
[170, "a0", "art-joint-anim"],
|
||||
[171, "v1", "anim-test-seq-item"],
|
||||
[173, "v1", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"anim-tester-start": [[20, "t9", "(function process function none)"]],
|
||||
@@ -2612,23 +2635,6 @@
|
||||
[[15, 250], "s5", "symbol"]
|
||||
],
|
||||
|
||||
"time-of-day-update": [
|
||||
[[0, 999], "s6", "time-of-day-proc"]
|
||||
],
|
||||
|
||||
"(anon-function 10 time-of-day)": [
|
||||
[[0, 999], "s6", "time-of-day-proc"]
|
||||
],
|
||||
|
||||
"init-time-of-day": [
|
||||
[[0, 999], "s6", "time-of-day-proc"],
|
||||
[[51, 54], "t9", "(function object object object)"]
|
||||
],
|
||||
|
||||
"start-time-of-day": [
|
||||
[[20, 23], "t9", "(function process function object)"]
|
||||
],
|
||||
|
||||
"cam-master-effect": [
|
||||
[[0, 999], "s6", "camera-master"]
|
||||
],
|
||||
@@ -3912,5 +3918,389 @@
|
||||
[2, "v1", "(pointer process-drawable)"]
|
||||
],
|
||||
|
||||
"update-time-of-day": [
|
||||
[46, "v0", "(array float)"]
|
||||
],
|
||||
|
||||
"sky-make-light": [
|
||||
[[10, 23], "a0", "sky-sun-data"]
|
||||
],
|
||||
|
||||
"make-sky-textures": [
|
||||
[[90, 94], "a0", "dma-packet"],
|
||||
[[100, 103], "a0", "gs-gif-tag"],
|
||||
[108, "a0", "(pointer gs-alpha)"],
|
||||
[110, "a0", "(pointer gs-reg64)"],
|
||||
[[121, 124], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"copy-cloud-texture": [
|
||||
[[2, 48], "s5", "(pointer uint128)"],
|
||||
[[28, 32], "s4", "adgif-shader"]
|
||||
],
|
||||
|
||||
"copy-sky-texture": [
|
||||
[[2, 48], "s5", "(pointer uint128)"],
|
||||
[[28, 32], "s4", "adgif-shader"]
|
||||
],
|
||||
|
||||
"render-sky-tng": [
|
||||
[[244, 262], "s2", "(inline-array sky-vertex)"],
|
||||
[[34, 38], "a0", "dma-packet"],
|
||||
[[44, 47], "a0", "gs-gif-tag"],
|
||||
[52, "a0", "(pointer gs-zbuf)"],
|
||||
[54, "a0", "(pointer gs-reg64)"],
|
||||
[56, "a0", "(pointer gs-test)"],
|
||||
[58, "a0", "(pointer gs-reg64)"],
|
||||
[60, "a0", "(pointer gs-alpha)"],
|
||||
[62, "a0", "(pointer gs-reg64)"],
|
||||
[[74, 78], "a0", "dma-packet"],
|
||||
[[84, 87], "a0", "gs-gif-tag"],
|
||||
|
||||
[107, "s2", "(pointer gs-tex0)"],
|
||||
[109, "s2", "(pointer gs-reg64)"],
|
||||
[111, "s2", "(pointer gs-tex1)"],
|
||||
[113, "s2", "(pointer gs-reg64)"],
|
||||
[115, "s2", "(pointer gs-clamp)"],
|
||||
[117, "s2", "(pointer gs-reg64)"],
|
||||
[118, "s2", "(pointer uint64)"],
|
||||
[120, "s2", "(pointer gs-reg64)"],
|
||||
[[159, 166], "s3", "dma-packet"],
|
||||
[[171, 175], "a0", "dma-packet"],
|
||||
[[181, 184], "a0", "gs-gif-tag"],
|
||||
|
||||
[189, "s2", "(pointer gs-alpha)"],
|
||||
[191, "s2", "(pointer gs-reg64)"],
|
||||
[209, "s2", "(pointer gs-tex0)"],
|
||||
[211, "s2", "(pointer gs-reg64)"],
|
||||
[213, "s2", "(pointer gs-tex1)"],
|
||||
[215, "s2", "(pointer gs-reg64)"],
|
||||
[216, "s2", "(pointer gs-clamp)"],
|
||||
[218, "s2", "(pointer gs-reg64)"],
|
||||
[219, "s2", "(pointer int64)"],
|
||||
[221, "s2", "(pointer gs-reg64)"],
|
||||
[[303, 310], "s3", "dma-packet"],
|
||||
[[312, 316], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"render-sky-tri": [
|
||||
[5, "a0", "int"],
|
||||
[[6, 50], "a0", "(inline-array sky-vertex)"],
|
||||
[[25, 48], "a3", "(inline-array sky-vertex)"]
|
||||
],
|
||||
|
||||
"render-sky-quad": [
|
||||
[[9, 32], "a0", "(inline-array sky-vertex)"],
|
||||
[[33, 62], "a3", "(inline-array sky-vertex)"]
|
||||
],
|
||||
|
||||
"(method 10 effect-control)": [
|
||||
[88, "v1", "collide-shape-moving"],
|
||||
[143, "s3", "(pointer sparticle-launch-group)"],
|
||||
[147, "s3", "sparticle-launch-group"],
|
||||
[199, "s3", "sparticle-launch-group"],
|
||||
[240, "s3", "basic"],
|
||||
[286, "s3", "basic"],
|
||||
[346, "s3", "basic"],
|
||||
[367, "s3", "basic"],
|
||||
[367, "s3", "basic"],
|
||||
[[371, 451], "s3", "death-info"]
|
||||
],
|
||||
|
||||
"(post water-vol-idle helix-dark-eco)": [
|
||||
[4, "t9", "(function none :behavior helix-dark-eco)"]
|
||||
],
|
||||
|
||||
"(code helix-slide-door-close)": [
|
||||
[10, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code helix-button-startup)": [
|
||||
[39, "v1", "process-drawable"]
|
||||
],
|
||||
|
||||
"(method 73 green-eco-lurker)": [
|
||||
[6, "a1", "touching-shapes-entry"]
|
||||
],
|
||||
|
||||
"citb-sagecage-update-collision": [
|
||||
[2, "a0", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"race-ring-set-particle-rotation-callback": [
|
||||
[1, "v1", "(pointer race-ring)"]
|
||||
],
|
||||
|
||||
"race-ring-blue-set-particle-rotation-callback": [
|
||||
[1, "v1", "(pointer race-ring)"]
|
||||
],
|
||||
|
||||
"(code race-ring-active)": [
|
||||
[242, "v1", "handle"],
|
||||
[245, "v1", "handle"],
|
||||
[253, "gp", "handle"],
|
||||
[269, "s5", "handle"],
|
||||
[272, "s5", "handle"]
|
||||
],
|
||||
|
||||
"(trans race-ring-active)": [
|
||||
[26, "a0", "part-tracker"]
|
||||
],
|
||||
|
||||
"(code anim-tester-process)": [
|
||||
[41, "v1", "anim-test-obj"],
|
||||
[45, "v1", "anim-test-obj"],
|
||||
[[40, 114], "s4", "anim-test-obj"],
|
||||
[82, "v0", "anim-test-sequence"],
|
||||
[119, "v0", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"display-list-control": [
|
||||
[[194, 197], "v1", "dma-packet"],
|
||||
[[423, 426], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"anim-tester-disp-frame-num": [
|
||||
[[75, 78], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"fisher-fish-move": [
|
||||
[9, "v1", "fisher"],
|
||||
[21, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-fall)": [
|
||||
[5, "v1", "fisher"],
|
||||
[60, "v1", "fisher"],
|
||||
[79, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-caught)": [
|
||||
[169, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-die)": [
|
||||
[35, "v1", "fisher"],
|
||||
[47, "v1", "fisher"],
|
||||
[90, "v1", "fisher"],
|
||||
[98, "v1", "fisher"],
|
||||
[112, "v1", "fisher"],
|
||||
[129, "v1", "fisher"],
|
||||
[137, "v1", "fisher"],
|
||||
[151, "v1", "fisher"],
|
||||
[165, "v1", "fisher"],
|
||||
[179, "v1", "fisher"],
|
||||
[193, "v1", "fisher"],
|
||||
[205, "v1", "fisher"],
|
||||
[209, "v1", "fisher"],
|
||||
[27, "v1", "float"],
|
||||
[79, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 38 fisher)": [
|
||||
[33, "t9", "(function fisher none)"]
|
||||
],
|
||||
|
||||
"(enter fisher-done)": [
|
||||
[137, "f0", "float"],
|
||||
[148, "f0", "float"],
|
||||
[213, "f0", "float"]
|
||||
],
|
||||
|
||||
"fisher-spawn-ambient": [
|
||||
[8, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 43 fisher)": [
|
||||
[27, "v1", "float"],
|
||||
[69, "v1", "float"]
|
||||
],
|
||||
|
||||
"(trans play-accept fisher)": [
|
||||
[101, "v0", "state"]
|
||||
],
|
||||
|
||||
"(trans idle fisher)": [
|
||||
[4, "v0", "state"]
|
||||
],
|
||||
|
||||
"(code idle fisher)": [
|
||||
[132, "v1", "art-joint-anim"],
|
||||
[35, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code target-fishing)": [
|
||||
[163, "v1", "fisher"],
|
||||
[290, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(method 11 torus)": [
|
||||
[[5, 22], "s4", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(method 12 torus)": [
|
||||
[11, "v1", "float"],
|
||||
[51, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-countdown)": [
|
||||
[25, "v1", "art-joint-anim"],
|
||||
[75, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-land)": [
|
||||
[36, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-idle)": [
|
||||
[10, "v1", "art-joint-anim"],
|
||||
[60, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"redshot-particle-callback": [
|
||||
[2, "v1", "(pointer redshot)"]
|
||||
],
|
||||
|
||||
"(event cam-robotboss)": [
|
||||
[5, "v1", "vector"]
|
||||
],
|
||||
|
||||
"ecoclaw-handler": [
|
||||
[73, "v1", "vector"]
|
||||
],
|
||||
|
||||
"(event idle silodoor)": [
|
||||
[4, "v1", "float"]
|
||||
],
|
||||
|
||||
"ecoclaw-beam-particle-callback": [
|
||||
[1, "a0", "(pointer projectile)"],
|
||||
[3, "a0", "(pointer projectile)"]
|
||||
],
|
||||
|
||||
"(method 32 finalbosscam)": [
|
||||
[156, "v1", "robotboss"]
|
||||
],
|
||||
|
||||
"(trans ecoclaw-activate)": [
|
||||
[30, "a0", "part-tracker"]
|
||||
],
|
||||
|
||||
"robotboss-position": [
|
||||
[109, "a0", "process-drawable"]
|
||||
],
|
||||
|
||||
"robotboss-bomb-handler": [
|
||||
[6, "v1", "float"]
|
||||
],
|
||||
|
||||
"robotboss-handler": [
|
||||
[6, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-red-wait)": [
|
||||
[12, "v1", "float"],
|
||||
[68, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-yellow-wait)": [
|
||||
[12, "v1", "float"],
|
||||
[68, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code robotboss-white-eco-movie)": [
|
||||
[189, "v1", "handle"],
|
||||
[192, "v1", "handle"],
|
||||
[208, "gp", "handle"],
|
||||
[211, "gp", "handle"]
|
||||
],
|
||||
|
||||
"(code robotboss-yellow-wait)": [
|
||||
[336, "v1", "float"],
|
||||
[365, "v1", "float"],
|
||||
[530, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code robotboss-red-wait)": [
|
||||
[153, "v1", "float"],
|
||||
[287, "v1", "float"],
|
||||
[339, "v1", "float"],
|
||||
[500, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"robotboss-redshot": [
|
||||
[45, "v1", "float"],
|
||||
[70, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-green-wait)": [
|
||||
[39, "v1", "float"],
|
||||
[95, "v1", "float"]
|
||||
],
|
||||
|
||||
"(exit robotboss-yellow-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-green-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-red-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-blue-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"robotboss-redshot-fill-array": [
|
||||
[24, "v1", "float"],
|
||||
[46, "v1", "float"],
|
||||
[109, "v1", "float"],
|
||||
[137, "v1", "float"],
|
||||
[137, "v1", "float"]
|
||||
],
|
||||
|
||||
"(trans robotboss-blue-wait)": [
|
||||
[254, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code robotboss-blue-wait)": [
|
||||
[14, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(enter green-eco-lurker-appear)": [
|
||||
[12, "v1", "robotboss"],
|
||||
[17, "v1", "robotboss"]
|
||||
],
|
||||
|
||||
"(code green-eco-lurker-appear)": [
|
||||
[42, "v1", "art-joint-anim"],
|
||||
[93, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code green-eco-lurker-appear-land)": [
|
||||
[74, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code nav-enemy-chase green-eco-lurker)": [
|
||||
[55, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code nav-enemy-patrol green-eco-lurker)": [
|
||||
[8, "t9", "(function none)"]
|
||||
],
|
||||
|
||||
"(trans light-eco-child-hit-ground)": [
|
||||
[63, "v1", "light-eco-mother"],
|
||||
[75, "a1", "light-eco-mother"],
|
||||
[88, "a1", "light-eco-mother"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -3550,5 +3550,11 @@
|
||||
}
|
||||
},
|
||||
|
||||
"anim-tester-get-playing-item": {
|
||||
"vars": {
|
||||
"v0-0": ["v0-0", "anim-test-seq-item"]
|
||||
}
|
||||
},
|
||||
|
||||
"aaaaaaaaaaaaaaaaaaaaaaa": {}
|
||||
}
|
||||
|
||||
@@ -65,6 +65,10 @@ void DecompilerTypeSystem::parse_type_defs(const std::vector<std::string>& file_
|
||||
if (dtr.create_runtime_type) {
|
||||
add_symbol(dtr.type.base_type(), "type");
|
||||
}
|
||||
// declare the type's states globally
|
||||
for (auto& state : dtr.type_info->get_states_declared_for_type()) {
|
||||
add_symbol(state.name, state.type);
|
||||
}
|
||||
|
||||
} else if (car(o).as_symbol()->name == "declare-type") {
|
||||
auto* rest = &cdr(o);
|
||||
|
||||
@@ -327,16 +327,12 @@ goos::Object decomp_ref_to_inline_array_guess_size(
|
||||
int my_seg,
|
||||
int field_location,
|
||||
const TypeSystem& ts,
|
||||
const Field& data_field,
|
||||
const std::vector<std::vector<LinkedWord>>& all_words,
|
||||
const LinkedObjectFile* file,
|
||||
const TypeSpec& array_elt_type,
|
||||
int stride) {
|
||||
// fmt::print("Decomp decomp_ref_to_inline_array_guess_size {}\n", array_elt_type.print());
|
||||
|
||||
// verify that the field is the right type.
|
||||
assert(data_field.type() == TypeSpec("inline-array", {array_elt_type}));
|
||||
|
||||
// verify the stride matches the type system
|
||||
auto elt_type_info = ts.lookup_type(array_elt_type);
|
||||
assert(stride == align(elt_type_info->get_size_in_memory(),
|
||||
@@ -425,12 +421,10 @@ goos::Object ocean_near_indices_decompile(const std::vector<LinkedWord>& words,
|
||||
int my_seg,
|
||||
int field_location,
|
||||
const TypeSystem& ts,
|
||||
const Field& data_field,
|
||||
const std::vector<std::vector<LinkedWord>>& all_words,
|
||||
const LinkedObjectFile* file) {
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts,
|
||||
data_field, all_words, file,
|
||||
TypeSpec("ocean-near-index"), 32);
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts, all_words,
|
||||
file, TypeSpec("ocean-near-index"), 32);
|
||||
}
|
||||
|
||||
goos::Object ocean_mid_masks_decompile(const std::vector<LinkedWord>& words,
|
||||
@@ -438,12 +432,10 @@ goos::Object ocean_mid_masks_decompile(const std::vector<LinkedWord>& words,
|
||||
int my_seg,
|
||||
int field_location,
|
||||
const TypeSystem& ts,
|
||||
const Field& data_field,
|
||||
const std::vector<std::vector<LinkedWord>>& all_words,
|
||||
const LinkedObjectFile* file) {
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts,
|
||||
data_field, all_words, file,
|
||||
TypeSpec("ocean-mid-mask"), 8);
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts, all_words,
|
||||
file, TypeSpec("ocean-mid-mask"), 8);
|
||||
}
|
||||
|
||||
goos::Object sp_field_init_spec_decompile(const std::vector<LinkedWord>& words,
|
||||
@@ -451,12 +443,10 @@ goos::Object sp_field_init_spec_decompile(const std::vector<LinkedWord>& words,
|
||||
int my_seg,
|
||||
int field_location,
|
||||
const TypeSystem& ts,
|
||||
const Field& data_field,
|
||||
const std::vector<std::vector<LinkedWord>>& all_words,
|
||||
const LinkedObjectFile* file) {
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts,
|
||||
data_field, all_words, file,
|
||||
TypeSpec("sp-field-init-spec"), 16);
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts, all_words,
|
||||
file, TypeSpec("sp-field-init-spec"), 16);
|
||||
}
|
||||
|
||||
goos::Object sp_launch_grp_launcher_decompile(const std::vector<LinkedWord>& words,
|
||||
@@ -464,12 +454,10 @@ goos::Object sp_launch_grp_launcher_decompile(const std::vector<LinkedWord>& wor
|
||||
int my_seg,
|
||||
int field_location,
|
||||
const TypeSystem& ts,
|
||||
const Field& data_field,
|
||||
const std::vector<std::vector<LinkedWord>>& all_words,
|
||||
const LinkedObjectFile* file) {
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts,
|
||||
data_field, all_words, file,
|
||||
TypeSpec("sparticle-group-item"), 32);
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts, all_words,
|
||||
file, TypeSpec("sparticle-group-item"), 32);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
@@ -658,19 +646,19 @@ goos::Object decompile_structure(const TypeSpec& type,
|
||||
// first, get the label:
|
||||
field_defs_out.emplace_back(
|
||||
field.name(), ocean_near_indices_decompile(obj_words, labels, label.target_segment,
|
||||
field_start, ts, field, words, file));
|
||||
field_start, ts, words, file));
|
||||
} else if (field.name() == "data" && type.print() == "ocean-mid-masks") {
|
||||
field_defs_out.emplace_back(
|
||||
field.name(), ocean_mid_masks_decompile(obj_words, labels, label.target_segment,
|
||||
field_start, ts, field, words, file));
|
||||
field_start, ts, words, file));
|
||||
} else if (field.name() == "init-specs" && type.print() == "sparticle-launcher") {
|
||||
field_defs_out.emplace_back(
|
||||
field.name(), sp_field_init_spec_decompile(obj_words, labels, label.target_segment,
|
||||
field_start, ts, field, words, file));
|
||||
field_start, ts, words, file));
|
||||
} else if (field.name() == "launcher" && type.print() == "sparticle-launch-group") {
|
||||
field_defs_out.emplace_back(field.name(), sp_launch_grp_launcher_decompile(
|
||||
obj_words, labels, label.target_segment,
|
||||
field_start, ts, field, words, file));
|
||||
field_start, ts, words, file));
|
||||
} else {
|
||||
if (field.type().base_type() == "pointer") {
|
||||
if (obj_words.at(field_start / 4).kind != LinkedWord::SYM_PTR) {
|
||||
@@ -950,15 +938,18 @@ goos::Object decompile_value(const TypeSpec& type,
|
||||
}
|
||||
} else if (type == TypeSpec("seconds")) {
|
||||
assert(bytes.size() == 8);
|
||||
u64 value;
|
||||
s64 value;
|
||||
memcpy(&value, bytes.data(), 8);
|
||||
|
||||
// only rewrite if exact.
|
||||
u64 seconds = value / TICKS_PER_SECOND;
|
||||
if (seconds * TICKS_PER_SECOND == value) {
|
||||
return pretty_print::to_symbol(fmt::format("(seconds {})", seconds));
|
||||
s64 seconds_int = value / TICKS_PER_SECOND;
|
||||
if (seconds_int * TICKS_PER_SECOND == value) {
|
||||
return pretty_print::to_symbol(fmt::format("(seconds {})", seconds_int));
|
||||
}
|
||||
double seconds = (double)value / TICKS_PER_SECOND;
|
||||
if (seconds * TICKS_PER_SECOND == value) {
|
||||
return pretty_print::build_list("seconds", pretty_print::float_representation(seconds));
|
||||
}
|
||||
|
||||
return pretty_print::to_symbol(fmt::format("#x{:x}", value));
|
||||
} else if (ts.tc(TypeSpec("uint64"), type)) {
|
||||
assert(bytes.size() == 8);
|
||||
@@ -1070,6 +1061,23 @@ goos::Object decompile_boxed_array(const DecompilerLabel& label,
|
||||
}
|
||||
}
|
||||
|
||||
return pretty_print::build_list(result);
|
||||
} else if (content_type.base_type() == "inline-array") {
|
||||
std::vector<goos::Object> result = {
|
||||
pretty_print::to_symbol("new"), pretty_print::to_symbol("'static"),
|
||||
pretty_print::to_symbol("'boxed-array"),
|
||||
pretty_print::to_symbol(fmt::format(":type {} :length {} :allocated-length {}",
|
||||
content_type.print(), array_length,
|
||||
array_allocated_length))};
|
||||
|
||||
for (int elt = 0; elt < array_length; elt++) {
|
||||
auto& word = words.at(label.target_segment).at(first_elt_word_idx + elt);
|
||||
auto segment = labels.at(word.label_id).target_segment;
|
||||
result.push_back(decomp_ref_to_inline_array_guess_size(
|
||||
words.at(segment), labels, segment, (first_elt_word_idx + elt) * 4, ts, words, file,
|
||||
content_type.get_single_arg(), ts.get_deref_info(content_type).stride));
|
||||
}
|
||||
|
||||
return pretty_print::build_list(result);
|
||||
} else {
|
||||
// value array
|
||||
@@ -1088,7 +1096,8 @@ goos::Object decompile_boxed_array(const DecompilerLabel& label,
|
||||
for (int j = start; j < end; j++) {
|
||||
auto& word = words.at(label.target_segment).at(j / 4);
|
||||
if (word.kind != LinkedWord::PLAIN_DATA) {
|
||||
throw std::runtime_error("Got bad word in kind in array of values");
|
||||
throw std::runtime_error(
|
||||
fmt::format("Got bad word of kind {} in boxed array of values", word.kind));
|
||||
}
|
||||
elt_bytes.push_back(word.get_byte(j % 4));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user