mirror of
https://github.com/open-goal/jak-project
synced 2026-08-22 07:04:29 -04:00
decomp: finish the remainder of untouched gameplay code (#893)
* decomp: finish `sidekick` * decomp: got a lot of `target` done * decompiler: Add support for non power of 2 offsets for inline arr access * decomp: finish `target` mostly * decomp: finish `water` * decomp: finished `robotboss-weapon` * decomp: finish `robotboss-misc` * decomp: finish the majority of `robotboss` * blocked: `racer` has an issue around entering a state * blocked: `target-racer` done mostly, but NYI case in one function * blocked: `racer-states` mostly finished, but bitfield issue * blocked: `billy` on state decomping * blocked: `bully` on state decomping * waiting: `rolling-lightning-mole` waiting on navigate for 2 funcs * blocked: `rolling-robber` finished but `s6-1` issue * blocked: `ogreboss` uint64's for types cant label load em! * blocked: `mother-spider` state decompilation * half-done `target-flut` * blocked: `target-flut` some sort of new bitfield state * some improvements in `racer-states` with my new-found knowledge * progress: started on `target-death` * blocked: `target-death` handle casts * decomp: finish `collide-reaction-racer` * blocked: `target-handler` handler forced to return `none` * decomp: 99% of `target2` finished * decomp: finish `target2` * gsrc: update * update post merge * address feedback * scripts: add script to detect decomp issues * fix wide-spread `collide-shape` method missing arg * some small things i changed from master * address feedback * fix typeconsistency issue
This commit is contained in:
+5
-6
@@ -77,18 +77,17 @@ tasks:
|
||||
type-test:
|
||||
cmds:
|
||||
- ./out/build/Release/bin/goalc-test.exe --gtest_brief=0 --gtest_filter="*MANUAL_TEST_TypeConsistencyWithBuildFirst*"
|
||||
check-gsrc-file:
|
||||
cmds:
|
||||
- python ./scripts/check-gsrc-file.py --files "{{.FILES}}"
|
||||
update-gsrc:
|
||||
cmds:
|
||||
- python ./scripts/next-decomp-file.py --files "{{.FILES}}"
|
||||
- task: decomp
|
||||
- task: find-label-types
|
||||
- python ./scripts/update-goal-src.py --files "{{.FILES}}"
|
||||
- task: type-test
|
||||
# TODO - make a script that checks for function/method splits
|
||||
file-good?:
|
||||
cmds:
|
||||
- task: type-test
|
||||
- task: offline-tests
|
||||
- task: find-label-types
|
||||
- task: check-gsrc-file
|
||||
cast-repl:
|
||||
cmds:
|
||||
- cmd: python ./scripts/cast-repl.py
|
||||
|
||||
@@ -141,7 +141,7 @@ std::string TextDb::get_info_for(const Object& o, bool* terminate_compiler_error
|
||||
*/
|
||||
std::string TextDb::get_info_for(const std::shared_ptr<SourceText>& frag, int offset) const {
|
||||
int line_idx = frag->get_line_idx(offset);
|
||||
std::string result = frag->get_description() + ", line: " + std::to_string(line_idx + 1) + "\n";
|
||||
std::string result = frag->get_description() + ":" + std::to_string(line_idx + 1) + "\n";
|
||||
result += frag->get_line_containing_offset(offset) + "\n";
|
||||
int offset_in_line = std::max(offset - frag->get_offset_of_line(line_idx), 1) - 1;
|
||||
|
||||
|
||||
+507
-517
File diff suppressed because it is too large
Load Diff
@@ -856,5 +856,39 @@
|
||||
[0, "(function surface object object int float)"]
|
||||
],
|
||||
|
||||
"target": [
|
||||
[1, "(function none :behavior target)"],
|
||||
[5, "(function none :behavior target)"],
|
||||
[16, "(function target float)"]
|
||||
],
|
||||
|
||||
"water": [
|
||||
[13, "(function water-vol object)"]
|
||||
],
|
||||
|
||||
"rolling-lightning-mole": [
|
||||
[38, "(function none :behavior lightning-mole)"]
|
||||
],
|
||||
|
||||
"target-flut": [
|
||||
[23, "(function nav-enemy none :behavior target)"],
|
||||
[57, "(function shadow-control :behavior target)"],
|
||||
[58, "(function float :behavior flutflut)"]
|
||||
],
|
||||
|
||||
"target-death": [
|
||||
[1, "(function process int :behavior target)"],
|
||||
[2, "(function none :behavior target)"],
|
||||
[16, "(function surface surface surface int none :behavior target)"],
|
||||
[17, "(function surface surface surface int none :behavior target)"],
|
||||
[19, "(function continue-point target)"],
|
||||
[20, "(function target)"]
|
||||
],
|
||||
|
||||
"target2": [
|
||||
[11, "(function vector int float symbol :behavior target)"],
|
||||
[99, "(function symbol)"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -266,12 +266,10 @@
|
||||
"ambient-inspect",
|
||||
|
||||
// target BUG
|
||||
"target-falling-anim-trans",
|
||||
"target-falling-anim-trans", // CFG resolution
|
||||
|
||||
// target2 BUG
|
||||
"(anon-function 33 target2)", // BUG:
|
||||
"(anon-function 67 target2)", // BUG:
|
||||
"look-for-points-of-interest",
|
||||
"look-for-points-of-interest", // Failed to split nested sc - looks like dead code to me
|
||||
|
||||
// drawable-tree
|
||||
"(method 16 drawable-tree)",
|
||||
@@ -317,7 +315,7 @@
|
||||
// "(anon-function 10 ice-cube)",
|
||||
// "(anon-function 15 ice-cube)",
|
||||
"mistycannon-find-best-solution",
|
||||
"target-flut-falling-anim-trans",
|
||||
"target-flut-falling-anim-trans", // CFG failure
|
||||
"kermit-check-to-hit-player?",
|
||||
"(anon-function 36 mistycannon)",
|
||||
"(anon-function 2 target-tube)",
|
||||
@@ -377,7 +375,9 @@
|
||||
"command-get-trans",
|
||||
"command-get-camera",
|
||||
"(method 14 camera-tracker)",
|
||||
"(enter billy-playing)"
|
||||
"(enter billy-playing)",
|
||||
"(code target-continue)",
|
||||
"next-level"
|
||||
],
|
||||
|
||||
// If format is used with the wrong number of arguments,
|
||||
|
||||
@@ -1446,6 +1446,376 @@
|
||||
"steam-cap": [
|
||||
["L51", "attack-info"]
|
||||
],
|
||||
|
||||
"sidekick": [
|
||||
["L29", "vector"]
|
||||
],
|
||||
|
||||
"target": [
|
||||
["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", "(pointer float)", 1],
|
||||
["L735", "(pointer float)", 1],
|
||||
["L736", "(pointer float)", 1],
|
||||
["L737", "(pointer float)", 1],
|
||||
["L738", "(pointer float)", 1],
|
||||
["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", "(pointer float)", 1],
|
||||
["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", "(pointer float)", 1],
|
||||
["L768", "float", true],
|
||||
["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", "(pointer float)", 1],
|
||||
["L787", "(pointer float)", 1],
|
||||
["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", "float", true],
|
||||
["L802", "float", true],
|
||||
["L803", "float", true],
|
||||
["L804", "float", true],
|
||||
["L805", "float", true],
|
||||
["L806", "float", true],
|
||||
["L807", "float", true],
|
||||
["L808", "float", true],
|
||||
["L809", "float", true],
|
||||
["L810", "float", true],
|
||||
["L811", "float", true],
|
||||
["L812", "float", true],
|
||||
["L813", "float", true],
|
||||
["L814", "(pointer float)", 1],
|
||||
["L815", "uint64", true]
|
||||
],
|
||||
|
||||
"target-handler": [
|
||||
["L195", "attack-info"],
|
||||
["L197", "float", true],
|
||||
["L198", "float", true],
|
||||
["L199", "float", true],
|
||||
["L200", "float", true],
|
||||
["L201", "float", true],
|
||||
["L202", "float", true],
|
||||
["L203", "float", true],
|
||||
["L204", "(pointer float)", 1],
|
||||
["L205", "uint64", true],
|
||||
["L206", "uint64", true],
|
||||
["L207", "uint64", true],
|
||||
["L208", "uint64", true],
|
||||
["L209", "uint64", true]
|
||||
],
|
||||
|
||||
"water": [
|
||||
["L148", "attack-info"],
|
||||
["L149", "attack-info"],
|
||||
["L150", "attack-info"]
|
||||
],
|
||||
|
||||
"racer": [
|
||||
["L106", "vector"]
|
||||
],
|
||||
|
||||
"target-racer-FIC-LAV-MIS-OGR-ROL": [
|
||||
["L237", "attack-info"],
|
||||
["L238", "attack-info"],
|
||||
["L240", "vector"]
|
||||
],
|
||||
|
||||
"rolling-lightning-mole": [
|
||||
["L181", "vector"],
|
||||
["L185", "rgba", true],
|
||||
["L186", "rgba", true],
|
||||
["L187", "rgba", true],
|
||||
["L189", "rgba", true],
|
||||
["L195", "vector"]
|
||||
],
|
||||
|
||||
"rolling-robber": [
|
||||
["L127", "vector"],
|
||||
["L139", "vector"],
|
||||
["L140", "vector"],
|
||||
["L145", "vector"]
|
||||
],
|
||||
|
||||
"ogreboss": [
|
||||
["L525", "uint64", true],
|
||||
["L526", "uint64", true],
|
||||
["L527", "uint64", true],
|
||||
["L528", "uint64", true],
|
||||
["L529", "uint64", true],
|
||||
["L530", "uint64", true]
|
||||
],
|
||||
|
||||
"mother-spider": [
|
||||
["L301", "(inline-array mother-spider-leg-info)", 8],
|
||||
["L302", "(inline-array mother-spider-thread)", 9]
|
||||
],
|
||||
|
||||
"target-flut": [
|
||||
["L399", "attack-info"],
|
||||
["L406", "float", true],
|
||||
["L407", "float", true],
|
||||
["L408", "float", true],
|
||||
["L409", "float", true],
|
||||
["L410", "float", true],
|
||||
["L411", "float", true],
|
||||
["L412", "float", true],
|
||||
["L413", "float", true],
|
||||
["L414", "float", true],
|
||||
["L415", "float", true],
|
||||
["L416", "float", true],
|
||||
["L417", "float", true],
|
||||
["L418", "float", true],
|
||||
["L419", "float", true],
|
||||
["L420", "float", true],
|
||||
["L421", "float", true],
|
||||
["L422", "float", true],
|
||||
["L423", "float", true],
|
||||
["L424", "float", true],
|
||||
["L425", "float", true],
|
||||
["L426", "float", true],
|
||||
["L427", "float", true],
|
||||
["L428", "float", true],
|
||||
["L429", "float", true],
|
||||
["L430", "float", true],
|
||||
["L431", "float", true],
|
||||
["L432", "float", true],
|
||||
["L433", "float", true],
|
||||
["L434", "float", true],
|
||||
["L435", "float", true],
|
||||
["L436", "float", true],
|
||||
["L437", "float", true],
|
||||
["L438", "float", true],
|
||||
["L439", "float", true],
|
||||
["L440", "float", true],
|
||||
["L441", "float", true],
|
||||
["L442", "float", true],
|
||||
["L443", "float", true],
|
||||
["L444", "float", true],
|
||||
["L445", "float", true],
|
||||
["L446", "float", true],
|
||||
["L447", "float", true],
|
||||
["L448", "float", true],
|
||||
["L449", "float", true],
|
||||
["L450", "float", true],
|
||||
["L451", "float", true],
|
||||
["L452", "float", true],
|
||||
["L453", "float", true],
|
||||
["L454", "float", true],
|
||||
["L455", "float", true],
|
||||
["L456", "float", true],
|
||||
["L457", "(pointer float)", 1],
|
||||
["L458", "uint64", true],
|
||||
["L459", "uint64", true],
|
||||
["L460", "uint64", true],
|
||||
["L461", "uint64", true],
|
||||
["L462", "uint64", true],
|
||||
["L463", "uint64", true],
|
||||
["L464", "uint64", true],
|
||||
["L465", "uint64", true],
|
||||
["L483", "uint64", true],
|
||||
["L484", "uint64", true]
|
||||
],
|
||||
|
||||
"target-death": [
|
||||
["L308", "vector"],
|
||||
["L316", "float", true],
|
||||
["L317", "float", true],
|
||||
["L318", "float", true],
|
||||
["L319", "float", true],
|
||||
["L320", "float", true],
|
||||
["L321", "float", true],
|
||||
["L322", "float", true],
|
||||
["L323", "float", true],
|
||||
["L324", "float", true],
|
||||
["L325", "float", true],
|
||||
["L326", "float", true],
|
||||
["L327", "float", true],
|
||||
["L328", "float", true],
|
||||
["L329", "float", true],
|
||||
["L330", "float", true],
|
||||
["L331", "float", true],
|
||||
["L332", "float", true],
|
||||
["L333", "float", true],
|
||||
["L334", "float", true],
|
||||
["L335", "float", true],
|
||||
["L336", "float", true],
|
||||
["L337", "float", true],
|
||||
["L338", "float", true],
|
||||
["L339", "float", true],
|
||||
["L340", "float", true],
|
||||
["L341", "float", true],
|
||||
["L342", "float", true],
|
||||
["L343", "float", true],
|
||||
["L344", "uint64", true],
|
||||
["L345", "uint64", true],
|
||||
["L346", "uint64", true],
|
||||
["L347", "uint64", true],
|
||||
["L348", "uint64", true],
|
||||
["L349", "uint64", true],
|
||||
["L350", "uint64", true],
|
||||
["L351", "uint64", true],
|
||||
["L352", "uint64", true],
|
||||
["L355", "float", true]
|
||||
],
|
||||
|
||||
"target2": [
|
||||
["L615", "attack-info"],
|
||||
["L656", "float", true],
|
||||
["L657", "float", true],
|
||||
["L658", "float", true],
|
||||
["L659", "float", true],
|
||||
["L660", "float", true],
|
||||
["L661", "float", true],
|
||||
["L662", "float", true],
|
||||
["L663", "float", true],
|
||||
["L664", "float", true],
|
||||
["L665", "float", true],
|
||||
["L666", "float", true],
|
||||
["L667", "float", true],
|
||||
["L668", "float", true],
|
||||
["L669", "float", true],
|
||||
["L670", "float", true],
|
||||
["L671", "float", true],
|
||||
["L672", "float", true],
|
||||
["L673", "float", true],
|
||||
["L674", "float", true],
|
||||
["L675", "float", true],
|
||||
["L676", "float", true],
|
||||
["L677", "float", true],
|
||||
["L678", "float", true],
|
||||
["L679", "float", true],
|
||||
["L680", "float", true],
|
||||
["L681", "float", true],
|
||||
["L682", "float", true],
|
||||
["L683", "float", true],
|
||||
["L684", "float", true],
|
||||
["L685", "float", true],
|
||||
["L686", "float", true],
|
||||
["L687", "float", true],
|
||||
["L688", "float", true],
|
||||
["L689", "float", true],
|
||||
["L690", "float", true],
|
||||
["L691", "float", true],
|
||||
["L692", "float", true],
|
||||
["L693", "float", true],
|
||||
["L694", "float", true],
|
||||
["L695", "float", true],
|
||||
["L696", "float", true],
|
||||
["L697", "float", true],
|
||||
["L698", "float", true],
|
||||
["L699", "float", true],
|
||||
["L700", "float", true],
|
||||
["L701", "float", true],
|
||||
["L702", "float", true],
|
||||
["L703", "float", true],
|
||||
["L704", "float", true],
|
||||
["L705", "float", true],
|
||||
["L706", "float", true],
|
||||
["L707", "float", true],
|
||||
["L708", "float", true],
|
||||
["L709", "float", true],
|
||||
["L710", "float", true],
|
||||
["L711", "float", true],
|
||||
["L712", "float", true],
|
||||
["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", "(pointer float)", 1],
|
||||
["L739", "float", true],
|
||||
["L740", "float", true],
|
||||
["L741", "float", true],
|
||||
["L742", "float", true],
|
||||
["L743", "float", true],
|
||||
["L744", "(pointer int32)", 1],
|
||||
["L745", "uint64", true],
|
||||
["L746", "uint64", true],
|
||||
["L757", "uint64", true]
|
||||
],
|
||||
|
||||
"collide-shape": [
|
||||
["L399", "attack-info"],
|
||||
|
||||
@@ -4421,5 +4421,620 @@
|
||||
"(method 19 collide-shape-prim-sphere)": [[16, "collide-mesh-cache-tri"]],
|
||||
"(method 37 collide-shape)": [[16, "vector"]],
|
||||
|
||||
"starts": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(trans target-flop)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(event target-wheel)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-stance)": [
|
||||
[16, "ground-tween-info"]
|
||||
],
|
||||
|
||||
"init-var-jump": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code target-wheel)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code target-wheel-flip)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(enter target-flop)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code target-running-attack)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(enter target-flop-hit-ground)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(enter target-attack-air)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"(enter target-hit-ground)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code target-flop)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"(trans target-running-attack)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"mod-var-jump": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"target-generic-event-handler": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"target-powerup-effect": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"check-water-level-drop": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(method 13 water-control)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(method 10 water-control)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "event-message-block"],
|
||||
[144, "vector"],
|
||||
[160, "vector"],
|
||||
[176, "vector"],
|
||||
[192, "vector"],
|
||||
[208, "vector"]
|
||||
],
|
||||
|
||||
"(method 15 water-control)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(anon-function 13 water)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(method 26 water-vol)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code wait-for-start racer)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(code idle racer)": [
|
||||
[16, "font-context"],
|
||||
[112, "event-message-block"]
|
||||
],
|
||||
|
||||
"(event wait-for-return racer)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"racer-xz": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"racer-cushion": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"target-racing-post": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"racer-effects": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"],
|
||||
[80, "vector"],
|
||||
[96, "vector"],
|
||||
[112, "vector"],
|
||||
[128, "vector"],
|
||||
[144, "event-message-block"],
|
||||
[224, "vector"],
|
||||
[240, "vector"],
|
||||
[256, "vector"]
|
||||
],
|
||||
|
||||
"racer-sounds": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"racer-collision": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"racer-find-prop-point": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"racer-integrate": [
|
||||
[16, "quaternion"]
|
||||
],
|
||||
|
||||
"fleeing-nav-enemy-clip-travel": [
|
||||
[16, "clip-travel-vector-to-mesh-return-info"],
|
||||
[176, "vector"],
|
||||
[192, "vector"],
|
||||
[208, "vector"]
|
||||
],
|
||||
|
||||
"fleeing-nav-enemy-adjust-travel": [
|
||||
[16, "matrix"],
|
||||
[80, "vector"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"fleeing-nav-enemy-chase-post-func": [
|
||||
[16, "matrix"],
|
||||
[80, "matrix"]
|
||||
],
|
||||
|
||||
"fleeing-nav-enemy-chase-post": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "matrix"],
|
||||
[112, "vector"],
|
||||
[128, "vector"]
|
||||
],
|
||||
|
||||
"(post lightning-mole-debug-run)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "matrix"]
|
||||
],
|
||||
|
||||
"(code fleeing-nav-enemy-debug)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"],
|
||||
[80, "matrix"],
|
||||
[144, "vector"]
|
||||
],
|
||||
|
||||
"(trans nav-enemy-chase lightning-mole)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"],
|
||||
[80, "event-message-block"]
|
||||
],
|
||||
|
||||
"(trans lightning-mole-debug-blend)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(code lightning-mole-dive)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(trans lightning-mole-dive)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(trans lightning-mole-head-for-hole)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(method 43 lightning-mole)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(method 44 lightning-mole)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"check-drop-level-rolling-dirt": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"check-drop-level-rolling-dirt-finish": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code fuel-cell-spline-slider)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"robber-find-ground": [
|
||||
[16, "vector"],
|
||||
[32, "collide-mesh-cache-tri"],
|
||||
[128, "vector"]
|
||||
],
|
||||
|
||||
"robber-rotate": [
|
||||
[16, "matrix"],
|
||||
[80, "vector"]
|
||||
],
|
||||
|
||||
"robber-calc-speed": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code robber-die)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code robber-initial-notice)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(method 11 robber)": [
|
||||
[16, "matrix"]
|
||||
],
|
||||
|
||||
"(code robber-debug)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(code target-flut-running-attack)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(enter target-flut-running-attack)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(trans target-flut-running-attack)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(event target-flut-air-attack)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"target-flut-standard-event-handler": [
|
||||
[16, "vector"],
|
||||
[32, "matrix"]
|
||||
],
|
||||
|
||||
"(code target-flut-start)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(exit target-flut-clone-anim)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-flut-clone-anim)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(enter target-flut-air-attack-hit-ground)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(event target-flut-jump)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"(enter target-flut-air-attack)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(post target-flut-get-on)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(post target-flut-get-off-jump)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code target-flut-get-on)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-flut-get-off-jump)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-flut-death)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"(trans target-flut-air-attack)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(code target-flut-hit)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"],
|
||||
[80, "event-message-block"]
|
||||
],
|
||||
|
||||
"target-hit-orient": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"target-hit-move": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "matrix"]
|
||||
],
|
||||
|
||||
"(anon-function 20 target-death)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"target-death-anim": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(code target-death)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(code target-continue)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "transformq"]
|
||||
],
|
||||
|
||||
"velocity-set-to-target!": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(exit target-hit)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code target-hit)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"],
|
||||
[80, "event-message-block"]
|
||||
],
|
||||
|
||||
"target-hit-push": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(anon-function 2 target-death)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"racer-collision-reaction": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, ["inline-array", "vector", 2]],
|
||||
[112, "vector"],
|
||||
[128, "vector"],
|
||||
[144, "vector"],
|
||||
[160, "vector"],
|
||||
[176, "vector"],
|
||||
[192, "vector"],
|
||||
[208, "vector"],
|
||||
[224, "vector"]
|
||||
],
|
||||
|
||||
"target-send-attack": [
|
||||
[16, "event-message-block"],
|
||||
[112, "vector"],
|
||||
[144, "vector"],
|
||||
[160, "vector"],
|
||||
[192, "vector"],
|
||||
[208, "vector"]
|
||||
],
|
||||
|
||||
"target-apply-tongue": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"target-bonk-event-handler": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "event-message-block"],
|
||||
[128, "vector"]
|
||||
],
|
||||
|
||||
"(code target-load-wait)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-stance-look-around)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(enter target-look-around)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(exit target-look-around)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-look-around)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(enter target-billy-game)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(exit target-billy-game)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(enter target-pole-cycle)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-pole-flip-up-jump)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(enter target-edge-grab)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(exit target-edge-grab)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(trans target-swim-up)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-launch)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-play-anim)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(exit target-play-anim)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(trans target-edge-grab)": [
|
||||
[16, "collide-using-spheres-params"]
|
||||
],
|
||||
|
||||
"(exit target-clone-anim)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(enter target-clone-anim)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-edge-grab-off)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(trans target-look-around)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(trans target-pole-cycle)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code target-swim-jump)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(anon-function 11 target2)": [
|
||||
[16, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"],
|
||||
[80, "vector"]
|
||||
],
|
||||
|
||||
"(enter target-yellow-blast)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code target-periscope)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"(enter target-yellow-jump-blast)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code target-swim-down)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(code target-yellow-jump-blast)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"target-swim-tilt": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"(code target-yellow-blast)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code target-edge-grab-jump)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"(trans target-billy-game)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(code target-wade-walk)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "vector"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below!": []
|
||||
}
|
||||
|
||||
@@ -5868,5 +5868,508 @@
|
||||
[53, "s0", "(inline-array collide-cache-prim)"]
|
||||
],
|
||||
|
||||
"target-falling-anim": [
|
||||
[51, "v1", "art-joint-anim"],
|
||||
[160, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"target-hit-ground-anim": [
|
||||
[79, "v1", "art-joint-anim"],
|
||||
[312, "v1", "art-joint-anim"],
|
||||
[389, "v1", "art-joint-anim"],
|
||||
[441, "v1", "art-joint-anim"],
|
||||
[520, "v1", "art-joint-anim"],
|
||||
[578, "v1", "art-joint-anim"],
|
||||
[675, "v1", "art-joint-anim"],
|
||||
[736, "v1", "art-joint-anim"],
|
||||
[846, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-stance)": [
|
||||
[48, "v1", "art-joint-anim"],
|
||||
[117, "v1", "art-joint-anim"],
|
||||
[170, "v1", "art-joint-anim"],
|
||||
[234, "v1", "art-joint-anim"],
|
||||
[298, "v1", "art-joint-anim"],
|
||||
[389, "v1", "art-joint-anim"],
|
||||
[503, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-walk)": [
|
||||
[146, "v1", "art-joint-anim"],
|
||||
[243, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-slide-down)": [
|
||||
[26, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-jump-forward)": [
|
||||
[13, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-double-jump)": [
|
||||
[24, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-attack-air)": [
|
||||
[14, "v1", "art-joint-anim"],
|
||||
[167, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-attack)": [
|
||||
[14, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-flop)": [
|
||||
[13, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-duck-stance)": [
|
||||
[21, "v1", "art-joint-anim"],
|
||||
[116, "v1", "art-joint-anim"],
|
||||
[168, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"mod-var-jump": [
|
||||
[77, "f0", "float"],
|
||||
[80, "f0", "float"],
|
||||
[159, "v0", "vector"]
|
||||
],
|
||||
|
||||
"(code target-duck-high-jump-jump)": [
|
||||
[8, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event target-running-attack)": [
|
||||
[41, "v1", "process-drawable"],
|
||||
[50, "s5", "collide-shape"]
|
||||
],
|
||||
|
||||
"(enter target-jump)": [
|
||||
[53, "v1", "vector"]
|
||||
],
|
||||
|
||||
"(enter target-high-jump)": [
|
||||
[21, "v1", "vector"]
|
||||
],
|
||||
|
||||
"(enter target-double-jump)": [
|
||||
[15, "v1", "vector"]
|
||||
],
|
||||
|
||||
// TODO - these shouldnt be required, but are here because `go/enter-state` returns none
|
||||
"(event target-flop)": [
|
||||
[34, "t9", "(function object :behavior target)"],
|
||||
[40, "t9", "(function symbol object :behavior target)"]
|
||||
],
|
||||
|
||||
"target-powerup-effect": [
|
||||
[267, "a0", "symbol"],
|
||||
[307, "a0", "vector"]
|
||||
],
|
||||
|
||||
"(method 10 water-control)": [
|
||||
[71, "a0", "collide-shape-moving"],
|
||||
[147, "v1", "collide-shape-moving"],
|
||||
[179, "v1", "collide-shape-moving"],
|
||||
[461, "v1", "control-info"],
|
||||
[473, "a0", "collide-shape-moving"],
|
||||
[488, "v1", "collide-shape-moving"],
|
||||
[502, "v1", "collide-shape-moving"],
|
||||
[508, "v1", "collide-shape-moving"],
|
||||
[580, "v1", "collide-shape-moving"],
|
||||
[600, "s4", "collide-shape-moving"],
|
||||
[609, "s4", "collide-shape-moving"],
|
||||
[622, "s4", "collide-shape-moving"],
|
||||
[627, "s4", "collide-shape-moving"],
|
||||
[629, "s4", "collide-shape-moving"],
|
||||
[716, "s5", "collide-shape-moving"],
|
||||
[720, "s5", "collide-shape-moving"],
|
||||
[721, "s5", "collide-shape-moving"],
|
||||
[728, "s5", "collide-shape-moving"],
|
||||
[730, "s5", "collide-shape-moving"],
|
||||
[731, "s5", "collide-shape-moving"],
|
||||
[744, "v1", "collide-shape-moving"],
|
||||
[751, "a0", "collide-shape-moving"],
|
||||
[775, "v1", "collide-shape-moving"],
|
||||
[824, "a1", "collide-shape-moving"],
|
||||
[826, "a0", "collide-shape-moving"],
|
||||
[831, "v1", "collide-shape-moving"]
|
||||
],
|
||||
|
||||
"part-water-splash-callback": [
|
||||
[3, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 15 water-control)": [
|
||||
[42, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 27 water-vol)": [
|
||||
[16, "v1", "target"]
|
||||
],
|
||||
|
||||
"(method 26 water-vol)": [
|
||||
[19, "v1", "target"],
|
||||
[33, "v1", "target"]
|
||||
],
|
||||
|
||||
"(method 29 water-vol)": [
|
||||
["_stack_", 16, "res-tag"],
|
||||
[46, "v0", "(pointer float)"]
|
||||
],
|
||||
|
||||
"(enter pickup racer)": [
|
||||
[1, "t9", "(function none :behavior racer)"]
|
||||
],
|
||||
|
||||
"target-racing-jump-anim": [
|
||||
[36, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"target-racing-land-anim": [
|
||||
[23, "v1", "art-joint-anim"],
|
||||
[82, "v1", "art-joint-anim"],
|
||||
[144, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(post target-racing-get-off-jump)": [
|
||||
[191, "f0", "float"]
|
||||
],
|
||||
|
||||
"check-drop-level-rolling-dirt-finish": [
|
||||
[17, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code peeper-down)": [
|
||||
[24, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code nav-enemy-notice fleeing-nav-enemy)": [
|
||||
[27, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code lightning-mole-dive)": [
|
||||
[39, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code lightning-mole-yelp)": [
|
||||
[19, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code peeper-up)": [
|
||||
[10, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code robber-idle)": [
|
||||
[14, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code robber-initial)": [
|
||||
[14, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code robber-initial-notice)": [
|
||||
[43, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code robber-tired)": [
|
||||
[69, "v1", "art-joint-anim"],
|
||||
[136, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code robber-flee)": [
|
||||
[69, "v1", "art-joint-anim"],
|
||||
[136, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code robber-die)": [
|
||||
[71, "f0", "float"],
|
||||
[104, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"target-flut-hit-ground-anim": [
|
||||
[131, "v1", "art-joint-anim"],
|
||||
[204, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"target-flut-standard-event-handler": [
|
||||
[164, "a0", "process-drawable"]
|
||||
],
|
||||
|
||||
"(code target-flut-stance)": [
|
||||
[81, "v1", "art-joint-anim"],
|
||||
[145, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-flut-walk)": [
|
||||
[60, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-flut-air-attack)": [
|
||||
[98, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-flut-air-attack-hit-ground)": [
|
||||
[86, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-flut-death)": [
|
||||
[224, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-flut-get-off-hit-ground)": [
|
||||
[13, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-flut-running-attack)": [
|
||||
[181, "f30", "float"],
|
||||
[246, "f1", "float"],
|
||||
[247, "f0", "float"],
|
||||
[247, "f30", "float"],
|
||||
[350, "v1", "art-joint-anim"],
|
||||
[381, "f30", "float"]
|
||||
],
|
||||
|
||||
"(code target-flut-double-jump)": [
|
||||
[14, "v1", "art-joint-anim"],
|
||||
[78, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(trans target-flut-walk)": [
|
||||
[147, "f0", "float"],
|
||||
[152, "f1", "float"],
|
||||
[203, "f0", "float"]
|
||||
],
|
||||
|
||||
"(event target-flut-running-attack)": [
|
||||
[41, "v1", "process-drawable"],
|
||||
[53, "v1", "collide-shape"],
|
||||
[59, "v1", "collide-shape"]
|
||||
],
|
||||
|
||||
"(code target-flut-get-on)": [
|
||||
[62, "s4", "process-drawable"],
|
||||
[69, "s4", "process-drawable"],
|
||||
[88, "s4", "process-drawable"],
|
||||
[93, "s4", "process-drawable"]
|
||||
],
|
||||
|
||||
"(code target-flut-get-off-jump)": [
|
||||
[55, "s3", "process-drawable"],
|
||||
[59, "s3", "process-drawable"],
|
||||
[74, "s3", "process-drawable"],
|
||||
[93, "s3", "process-drawable"],
|
||||
[98, "s3", "process-drawable"],
|
||||
[145, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(event target-flut-grab)": [
|
||||
[24, "a0", "process-drawable"]
|
||||
],
|
||||
|
||||
"(post target-racing-get-on)": [
|
||||
[76, "f0", "float"],
|
||||
[88, "f0", "float"],
|
||||
[92, "f1", "float"]
|
||||
],
|
||||
|
||||
"target-death-anim": [
|
||||
[18, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"target-hit-setup-anim": [
|
||||
[90, "v1", "art-joint-anim"],
|
||||
[164, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-death)": [
|
||||
[533, "v1", "art-joint-anim"],
|
||||
[655, "v0", "int"],
|
||||
[691, "v1", "nav-enemy"],
|
||||
[844, "gp", "spool-anim"],
|
||||
[968, "s5", "handle"],
|
||||
[991, "s5", "handle"],
|
||||
[1010, "gp", "spool-anim"],
|
||||
[1028, "s5", "handle"],
|
||||
[1031, "s5", "handle"]
|
||||
],
|
||||
|
||||
"(anon-function 1 target-death)": [
|
||||
[12, "gp", "process-drawable"],
|
||||
[16, "gp", "process-drawable"]
|
||||
],
|
||||
|
||||
"next-level": [
|
||||
[7, "a1", "level-load-info"],
|
||||
[10, "a1", "level-load-info"]
|
||||
],
|
||||
|
||||
"target-generic-event-handler": [
|
||||
[10, "v1", "float"],
|
||||
[297, "v1", "float"],
|
||||
[308, "a0", "vector"],
|
||||
[562, "v1", "(state target)"]
|
||||
],
|
||||
|
||||
"target-standard-event-handler": [
|
||||
[167, "a0", "process"],
|
||||
[182, "a0", "process"],
|
||||
[197, "a0", "process"],
|
||||
[223, "a0", "process"],
|
||||
[242, "a0", "process"],
|
||||
[257, "a0", "process"],
|
||||
[272, "a0", "process"],
|
||||
[280, "a1", "process"],
|
||||
[303, "a0", "process"],
|
||||
[330, "a0", "process"]
|
||||
],
|
||||
|
||||
"(code target-load-wait)": [
|
||||
[21, "v1", "art-joint-anim"],
|
||||
[138, "v1", "art-joint-anim"],
|
||||
[196, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-grab)": [
|
||||
[133, "v1", "art-joint-anim"],
|
||||
[185, "v1", "art-joint-anim"],
|
||||
[322, "v1", "art-joint-anim"],
|
||||
[475, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-pole-cycle)": [
|
||||
[87, "v1", "art-joint-anim"],
|
||||
[148, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-pole-flip-up)": [
|
||||
[13, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-edge-grab-jump)": [
|
||||
[34, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-eco-powerup)": [
|
||||
[32, "v1", "art-joint-anim"],
|
||||
[47, "v1", "float"],
|
||||
[215, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code target-swim-stance)": [
|
||||
[31, "v1", "art-joint-anim"],
|
||||
[52, "v1", "float"],
|
||||
[89, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event target-swim-down)": [
|
||||
[9, "v1", "attack-info"],
|
||||
[13, "v1", "attack-info"],
|
||||
[18, "v1", "attack-info"],
|
||||
[23, "v1", "attack-info"],
|
||||
[38, "v1", "attack-info"],
|
||||
[39, "v1", "attack-info"],
|
||||
[41, "v1", "attack-info"]
|
||||
],
|
||||
|
||||
"(code target-swim-walk)": [
|
||||
[54, "v1", "art-joint-anim"],
|
||||
[140, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-yellow-jump-blast)": [
|
||||
[184, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-swim-down)": [
|
||||
[52, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(anon-function 11 target2)": [
|
||||
[19, "s4", "target"], // confusing -- the parent of a target is a target?
|
||||
[21, "s4", "target"],
|
||||
[29, "s4", "target"],
|
||||
[34, "s4", "target"],
|
||||
[40, "s4", "target"],
|
||||
[54, "s4", "target"],
|
||||
[66, "s4", "target"],
|
||||
[76, "s4", "target"],
|
||||
[82, "s4", "target"],
|
||||
[87, "s4", "target"],
|
||||
[89, "s4", "target"],
|
||||
[118, "s4", "target"],
|
||||
[129, "s4", "target"]
|
||||
],
|
||||
|
||||
"(code target-play-anim)": [
|
||||
[8, "v0", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-look-around)": [
|
||||
[20, "v0", "float"]
|
||||
],
|
||||
|
||||
"(code target-stance-look-around)": [
|
||||
[10, "v0", "float"],
|
||||
[36, "t9", "(function none :behavior target)"]
|
||||
],
|
||||
|
||||
"part-first-person-hud-selector-func": [
|
||||
[16, "v1", "first-person-hud"]
|
||||
],
|
||||
|
||||
"part-first-person-hud-right-func": [
|
||||
[16, "s5", "first-person-hud"],
|
||||
[42, "s5", "first-person-hud"],
|
||||
[46, "s5", "first-person-hud"],
|
||||
[50, "s5", "first-person-hud"],
|
||||
[59, "s5", "first-person-hud"]
|
||||
],
|
||||
|
||||
"part-first-person-hud-left-func": [
|
||||
[16, "s5", "first-person-hud"],
|
||||
[43, "s5", "first-person-hud"],
|
||||
[47, "s5", "first-person-hud"],
|
||||
[51, "s5", "first-person-hud"],
|
||||
[60, "s5", "first-person-hud"]
|
||||
],
|
||||
|
||||
"(event target-grab)": [
|
||||
[30, "a0", "process"],
|
||||
[48, "a0", "process"],
|
||||
[56, "a1", "process"]
|
||||
],
|
||||
|
||||
"(code target-periscope)": [
|
||||
[25, "v1", "process-drawable"],
|
||||
[49, "v1", "art-joint-anim"],
|
||||
[130, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-swim-up)": [
|
||||
[17, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code target-yellow-blast)": [
|
||||
[161, "gp", "handle"],
|
||||
[176, "v1", "art-joint-anim"],
|
||||
[219, "gp", "handle"]
|
||||
],
|
||||
|
||||
"(code target-edge-grab)": [
|
||||
[143, "v1", "art-joint-anim"],
|
||||
[198, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(method 10 first-person-hud)": [
|
||||
[32, "t9", "(function process none)"]
|
||||
],
|
||||
|
||||
"(code target-pole-flip-forward-jump)": [
|
||||
[40, "t9", "(function none :behavior target)"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -3730,5 +3730,17 @@
|
||||
}
|
||||
},
|
||||
|
||||
"target-powerup-effect": {
|
||||
"vars": {
|
||||
"a0-74": ["a0-74", "vector"]
|
||||
}
|
||||
},
|
||||
|
||||
"(code target-yellow-blast)": {
|
||||
"vars": {
|
||||
"gp-0": ["gp-0", "handle"]
|
||||
}
|
||||
},
|
||||
|
||||
"aaaaaaaaaaaaaaaaaaaaaaa": {}
|
||||
}
|
||||
|
||||
@@ -6,19 +6,27 @@
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
(declare-type joint-control basic)
|
||||
(declare-type effect-control basic)
|
||||
|
||||
(define-extern cspace<-parented-transformq-joint! (function cspace transformq none))
|
||||
(define-extern cspace<-transformq! (function cspace transformq matrix))
|
||||
(define-extern vector<-cspace! (function vector cspace vector))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype joint-control-channel (structure)
|
||||
((parent joint-control :offset-assert 0)
|
||||
(command symbol :offset-assert 4)
|
||||
(frame-interp float :offset-assert 8)
|
||||
(frame-group art-joint-anim :offset-assert 12)
|
||||
(frame-num float :offset-assert 16)
|
||||
(num-func (function joint-control-channel float float float) :offset-assert 20)
|
||||
(param float 2 :offset-assert 24)
|
||||
(group-sub-index int16 :offset-assert 32)
|
||||
(group-size int16 :offset-assert 34)
|
||||
(dist meters :offset-assert 36)
|
||||
(eval-time uint32 :offset-assert 40)
|
||||
(inspector-amount float :offset-assert 44)
|
||||
((parent joint-control :offset-assert 0)
|
||||
(command symbol :offset-assert 4)
|
||||
(frame-interp float :offset-assert 8)
|
||||
(frame-group art-joint-anim :offset-assert 12)
|
||||
(frame-num float :offset-assert 16)
|
||||
(num-func (function joint-control-channel float float float) :offset-assert 20)
|
||||
(param float 2 :offset-assert 24)
|
||||
(group-sub-index int16 :offset-assert 32)
|
||||
(group-size int16 :offset-assert 34)
|
||||
(dist meters :offset-assert 36)
|
||||
(eval-time uint32 :offset-assert 40)
|
||||
(inspector-amount float :offset-assert 44)
|
||||
)
|
||||
:method-count-assert 10
|
||||
:size-assert #x30
|
||||
@@ -28,7 +36,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
(declare-type effect-control basic)
|
||||
|
||||
(deftype joint-control (basic)
|
||||
((status uint16 :offset-assert 4)
|
||||
(allocated-length int16 :offset-assert 6)
|
||||
@@ -55,27 +63,29 @@
|
||||
:flag-assert #xb000000c0
|
||||
(:methods
|
||||
(new (symbol type int) _type_ 0)
|
||||
(dummy-9 (_type_) none 9)
|
||||
(dummy-9 (_type_) float 9)
|
||||
(dummy-10 (_type_ symbol) int 10)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype matrix-stack (structure)
|
||||
((top matrix :offset-assert 0)
|
||||
(data matrix 24 :inline :offset-assert 16)
|
||||
((top matrix :offset-assert 0)
|
||||
(data matrix 24 :inline :offset-assert 16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x610
|
||||
:flag-assert #x900000610
|
||||
)
|
||||
|
||||
|
||||
(deftype channel-upload-info (structure)
|
||||
((fixed joint-anim-compressed-fixed :offset-assert 0)
|
||||
(fixed-qwc int32 :offset-assert 4)
|
||||
(frame joint-anim-compressed-frame :offset-assert 8)
|
||||
(frame-qwc int32 :offset-assert 12)
|
||||
(amount float :offset-assert 16)
|
||||
(interp float :offset-assert 20)
|
||||
((fixed joint-anim-compressed-fixed :offset-assert 0)
|
||||
(fixed-qwc int32 :offset-assert 4)
|
||||
(frame joint-anim-compressed-frame :offset-assert 8)
|
||||
(frame-qwc int32 :offset-assert 12)
|
||||
(amount float :offset-assert 16)
|
||||
(interp float :offset-assert 20)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
@@ -83,21 +93,20 @@
|
||||
:flag-assert #x900000018
|
||||
)
|
||||
|
||||
|
||||
(deftype joint-work (structure)
|
||||
((temp-mtx matrix :inline :offset-assert 0)
|
||||
(joint-stack matrix-stack :inline :offset-assert 64)
|
||||
(fix-jmp-table (function none) 16 :offset-assert 1616)
|
||||
(frm-jmp-table (function none) 16 :offset-assert 1680)
|
||||
(pair-jmp-table (function none) 16 :offset-assert 1744)
|
||||
(uploads channel-upload-info 24 :inline :offset-assert 1808)
|
||||
(num-uploads int32 :offset-assert 2384)
|
||||
(mtx-acc matrix 2 :inline :offset-assert 2400)
|
||||
(tq-acc transformq 100 :inline :offset-assert 2528)
|
||||
(jacp-hdr joint-anim-compressed-hdr :inline :offset-assert 7328)
|
||||
(fixed-data joint-anim-compressed-fixed :inline :offset-assert 7392)
|
||||
(frame-data joint-anim-compressed-frame 2 :inline :offset-assert 9600)
|
||||
;(flatten-array UNKNOWN 576 :offset-assert 2400) no clue!
|
||||
;(flattened UNKNOWN 24 :offset-assert 2400) no clue!
|
||||
((temp-mtx matrix :inline :offset-assert 0)
|
||||
(joint-stack matrix-stack :inline :offset-assert 64)
|
||||
(fix-jmp-table (function none) 16 :offset-assert 1616)
|
||||
(frm-jmp-table (function none) 16 :offset-assert 1680)
|
||||
(pair-jmp-table (function none) 16 :offset-assert 1744)
|
||||
(uploads channel-upload-info 24 :inline :offset-assert 1808)
|
||||
(num-uploads int32 :offset-assert 2384)
|
||||
(mtx-acc matrix 2 :inline :offset-assert 2400)
|
||||
(tq-acc transformq 100 :inline :offset-assert 2528)
|
||||
(jacp-hdr joint-anim-compressed-hdr :inline :offset-assert 7328)
|
||||
(fixed-data joint-anim-compressed-fixed :inline :offset-assert 7392)
|
||||
(frame-data joint-anim-compressed-frame 2 :inline :offset-assert 9600)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x3640
|
||||
@@ -108,4 +117,4 @@
|
||||
(define-extern cspace<-transformq! (function cspace transformq matrix))
|
||||
(define-extern vector<-cspace! (function vector cspace vector))
|
||||
(define-extern cspace<-transformq+world-trans! (function cspace transformq vector matrix))
|
||||
(define-extern create-interpolated-joint-animation-frame (function joint-control int process-drawable int))
|
||||
(define-extern create-interpolated-joint-animation-frame (function joint-control int process-drawable int))
|
||||
|
||||
@@ -8,3 +8,6 @@
|
||||
;; TODO - for logic-target
|
||||
(define-extern target-collision-reaction (function control-info collide-shape-intersect vector vector none))
|
||||
(define-extern target-collision-no-reaction (function control-info collide-shape-intersect vector vector none))
|
||||
|
||||
;; TODO - for collide-reaction-racer
|
||||
(define-extern collide-shape-moving-angle-set! (function collide-shape-moving vector vector none)) ;; not confirmed
|
||||
|
||||
@@ -333,8 +333,7 @@
|
||||
NOTE: uses the size-bytes as the TOTAL size of the structure."
|
||||
|
||||
(let ((obj (object-new allocation type-to-make size-bytes)))
|
||||
;; not sure what this is.
|
||||
(set! (-> obj cshape) cshape)
|
||||
(set! (-> obj cshape) (the-as collide-shape cshape))
|
||||
;; sphere/mesh?
|
||||
(set! (-> obj prim-id) prim-id)
|
||||
(set! (-> obj prim-core action) 0)
|
||||
|
||||
@@ -993,11 +993,11 @@
|
||||
((s5-1
|
||||
(vector-normalize-copy!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(the-as vector (&-> obj unknown-vector120))
|
||||
(the-as vector (-> obj unknown-vector120))
|
||||
1.0
|
||||
)
|
||||
)
|
||||
(f0-32 (vector-length (the-as vector (&-> obj unknown-vector120))))
|
||||
(f0-32 (vector-length (the-as vector (-> obj unknown-vector120))))
|
||||
)
|
||||
(set! (-> obj unknown-float140) (if (= f0-32 0.0)
|
||||
0.0
|
||||
|
||||
@@ -43,9 +43,9 @@
|
||||
(unknown-vector10 vector :inline :offset 544) ;; from - logic-target::flat-setup
|
||||
(unknown-vector11 vector :inline :offset 560) ;; from - logic-target::target-no-move-post
|
||||
(unknown-vector12 vector :inline :offset 576)
|
||||
(unknown-vector13 vector :inline :offset 592) ;; from - collide-shape::method-37
|
||||
(unknown-vector13 vector :inline :offset 592) ;; from - collide-shape::method-37 | target::mod-var-jump
|
||||
(unknown-vector14 vector :inline :offset 608) ;; from - logic-target::target-no-move-post
|
||||
(unknown-vector15 vector :inline :offset 624) ;; from - collide-shape::method-37
|
||||
(unknown-vector15 vector :inline :offset 624) ;; from - collide-shape::method-37 | target-handler::target-exit
|
||||
(unknown-vector16 vector :inline :offset 640) ;; from - collide-shape::method-37
|
||||
(unknown-dynamics00 dynamics :offset 656) ;; from - logic-target::bend-gravity
|
||||
(unknown-surface00 surface :offset 660)
|
||||
@@ -72,7 +72,8 @@
|
||||
(unknown-qword00 uint128 :offset 1136)
|
||||
(unknown-float30 float :offset 1140) ;; from - logic-target::target-calc-camera-pos
|
||||
(unknown-vector40 vector :inline :offset 1152) ;; from - logic-target::target-real-post
|
||||
(unknown-float40 float :offset 1176) ;; from - logic-target::do-rotations2
|
||||
(unknown-float40 float :offset 1172) ;; from - target-death::lambda-1
|
||||
(unknown-float41 float :offset 1176) ;; from - logic-target::do-rotations2
|
||||
(unknown-int00 int32 :offset 1180) ;; from - logic-target::joint-points
|
||||
(unknown-float50 float :offset 1168) ;; from - logic-target::target-real-post
|
||||
(unknown-vector50 vector :inline :offset 1184) ;; from - logic-target::build-conversions
|
||||
@@ -96,16 +97,21 @@
|
||||
(unknown-float71 float :offset 1524) ;; from - collide-shape::method-37
|
||||
(unknown-vector70 vector :inline :offset 1536) ;; from - logic-target::add-thrust
|
||||
(unknown-vector71 vector :inline :offset 1552) ;; from - target-tube::tube-thrust
|
||||
(unknown-vector72 vector :inline :offset 1584) ;; from - collide-reaction-target::target-collision-reaction
|
||||
(unknown-vector72 vector :inline :offset 1568) ;; from - collide-reaction-racer::racer-collision-reaction
|
||||
(unknown-vector73 vector :inline :offset 1584) ;; from - collide-reaction-racer::racer-collision-reaction
|
||||
(unknown-handle00 handle :offset 1600) ;; from logic-target::reset-target-state
|
||||
(unknown-sphere-array00 collide-shape-prim-sphere 3 :offset 1608) ;; from target-util::target-collide-set! and from target-util::target-danger-set!
|
||||
(unknown-sphere00 collide-shape-prim-sphere :offset 1632) ;; from target-util::target-danger-set!
|
||||
(unknown-sphere01 collide-shape-prim-sphere :offset 1636) ;; from target-util::target-danger-set!
|
||||
(unknown-sphere02 collide-shape-prim-sphere :offset 1640) ;; from target-util::target-danger-set!
|
||||
(unknown-dword30 int64 :offset 1672) ;; from target-util::can-hands?
|
||||
(unknown-dword31 int64 :offset 1680) ;; from target-util::can-hands?
|
||||
(unknown-dword32 int64 :offset 1688) ;; from target-util::can-feet?
|
||||
(unknown-dword33 int64 :offset 1696) ;; from target-util::can-feet?
|
||||
(unknown-int50 int32 :offset 1656) ;; from target::(enter target-wheel)
|
||||
(unknown-dword30 int64 :offset 1664) ;; from target::(trans target-walk)
|
||||
(unknown-dword31 int64 :offset 1672) ;; from target-util::can-hands?
|
||||
(unknown-dword32 int64 :offset 1680) ;; from target-util::can-hands?
|
||||
(unknown-dword33 int64 :offset 1688) ;; from target-util::can-feet?
|
||||
(unknown-dword34 int64 :offset 1696) ;; from target-util::can-feet?
|
||||
(unknown-dword35 int64 :offset 1704) ;; from target::(exit target-slide-down)
|
||||
(unknown-dword36 int64 :offset 1712) ;; from target::(trans target-jump)
|
||||
(unknown-float80 float :offset 1724) ;; from logic-target::bend-gravity
|
||||
(unknown-float81 float :offset 1728) ;; from logic-target::bend-gravity
|
||||
(unknown-float82 float :offset 1732) ;; from logic-target::bend-gravity
|
||||
@@ -127,11 +133,18 @@
|
||||
(unknown-dword40 int64 :offset 2160) ;; from logic-target::target-compute-edge
|
||||
(unknown-dword41 int64 :offset 2168) ;; from logic-target::target-compute-edge
|
||||
(unknown-handle10 handle :offset 2176) ;; from logic-target::target-compute-pole - probably a swingpole
|
||||
(unknown-float120 float :offset 2184) ;; from target::mod-var-jump
|
||||
(unknown-uint20 uint32 :offset 2184) ;; from target::(trans target-running-attack)
|
||||
(unknown-spoolanim00 spool-anim :offset 2184) ;; from target2::(trans target-stance-ambient)
|
||||
(unknown-int20 int32 :offset 2184) ;; from (anon-function 1 basebutton)
|
||||
(unknown-symbol20 symbol :offset 2184) ;; from (anon-function 1 basebutton)
|
||||
(unknown-int20 int32 :offset 2188) ;; from logic-target::target-compute-pole
|
||||
(unknown-float120 float :offset 2184) ;; from target::mod-var-jump
|
||||
(unknown-int21 int32 :offset 2188) ;; from logic-target::target-compute-pole
|
||||
(unknown-uint30 uint32 :offset 2188) ;; from target::(code target-running-attack)
|
||||
(unknown-float121 float :offset 2188) ;; from target::mod-var-jump
|
||||
(unknown-uint31 uint32 :offset 2192) ;; from target::(trans target-running-attack)
|
||||
(unknown-float122 float :offset 2196) ;; from target::(trans target-jump)
|
||||
(unknown-float123 float :offset 2200) ;; from target::mod-var-jump
|
||||
(unknown-float124 float :offset 2204) ;; from target::init-var-jump
|
||||
(unknown-vector102 vector :inline :offset 2224) ;; from (anon-function 3 basebutton)
|
||||
(unknown-vector103 vector :inline :offset 2240) ;; from (anon-function 3 basebutton)
|
||||
(unknown-quaternion02 quaternion :inline :offset 2256) ;; from racer-states::(code target-racing-get-on)
|
||||
@@ -140,23 +153,32 @@
|
||||
(unknown-vector110 vector :inline :offset 2320) ;; from logic-target::flag-setup
|
||||
(unknown-vector111 vector :inline :offset 2336) ;; from logic-target::flag-setup
|
||||
(unknown-symbol30 symbol :offset 2384) ;; from target-util::target-danger-set!
|
||||
(unknown-int31 uint32 :offset 2384) ;; from target:: (event target-running-attack)
|
||||
(unknown-dword50 int64 :offset 2392) ;; from target-util::target-start-attack
|
||||
(unknown-dword51 int64 :offset 2400) ;; from target-util::target-start-attack
|
||||
(unknown-pointer00 pointer :offset 2416) ;; from target-handler::target-standard-event-handler
|
||||
(unknown-symbol40 symbol :offset 2428) ;; from logic-target::post-flag-setup
|
||||
(unknown-dword60 int64 :offset 2432) ;; from target::(enter target-jump)
|
||||
(unknown-dword61 int64 :offset 2440) ;; from target::(enter target-jump)
|
||||
(unknown-dword62 int64 :offset 2448) ;; from target::(enter target-jump) - probably some sort of object64 that's used as a vector?
|
||||
(unknown-dword63 int64 :offset 2456) ;; from target::(enter target-jump)
|
||||
(unknown-halfword00 int16 :offset 2488) ;; from logic-target::target-move-dist
|
||||
;; these were determined from racer-collision-reaction.
|
||||
(history-length int16 :offset 2490)
|
||||
(history-data collide-history 128 :inline :offset-assert 2496)
|
||||
(unknown-float140 float :offset 18944)
|
||||
(unknown-dword60 int64 :offset 18952) ;; from logic-target::add-thrust
|
||||
(unknown-dword70 int64 :offset 18952) ;; from logic-target::add-thrust
|
||||
(unknown-int40 int32 :offset 18880) ;; from logic-target::flag-setup
|
||||
(unknown-dword70 int64 :offset 18888) ;; from logic-target::post-flag-setup
|
||||
(unknown-dword71 int64 :offset 18896) ;; from logic-target::post-flag-setup
|
||||
(unknown-dword72 int64 :offset 18912) ;; from logic-target::reset-target-state
|
||||
(unknown-vector120 vector :offset 18928) ;; from collide-shape::method-37
|
||||
(unknown-int50 uint32 :offset 18976) ;; from logic-target::print-target-stats
|
||||
(unknown-dword80 int64 :offset 18888) ;; from logic-target::post-flag-setup
|
||||
(unknown-dword81 int64 :offset 18896) ;; from logic-target::post-flag-setup
|
||||
(unknown-float130 float :offset 18904) ;; from target2::target-swim-tilt
|
||||
(unknown-float131 float :offset 18908) ;; from target2::target-swim-tilt
|
||||
(unknown-dword82 int64 :offset 18912) ;; from logic-target::reset-target-state
|
||||
(unknown-vector120 vector :inline :offset 18928) ;; from target::(code target-running-attack)
|
||||
(unknown-float150 float :offset 18944) ;; from target::(code target-wheel-flip)
|
||||
(unknown-int60 uint32 :offset 18976) ;; from logic-target::print-target-stats
|
||||
(unknown-soundid00 sound-id :offset 18980) ;; from powerups::target-powerup-process
|
||||
(unknown-float130 float :offset 18984) ;; from powerups::target-powerup-process
|
||||
(unknown-float141 float :offset 18984) ;; from powerups::target-powerup-process
|
||||
)
|
||||
:size-assert #x4a2c
|
||||
:method-count-assert 65
|
||||
|
||||
@@ -1199,7 +1199,6 @@
|
||||
0.0
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defbehavior anim-loop process-drawable ()
|
||||
|
||||
@@ -1170,6 +1170,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; TODO modified!
|
||||
(defun ja-anim-done? ((arg0 process))
|
||||
(let ((gp-0 (command-get-process arg0 *target*)))
|
||||
(when gp-0
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
;; name in dgo: projectiles-h
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
(declare-type projectile process-drawable)
|
||||
(define-extern projectile-init-by-other (function entity vector vector uint handle none :behavior projectile)) ;; 4th arg is `options`, 5th is `last-target`
|
||||
|
||||
;; decomp begins
|
||||
|
||||
(deftype projectile (process-drawable)
|
||||
((root-override collide-shape-moving :score 100 :offset 112)
|
||||
(base-trans vector :inline :offset-assert 176)
|
||||
|
||||
@@ -5,15 +5,16 @@
|
||||
;; name in dgo: vol-h
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
;; definition of type plane-volume
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype plane-volume (structure)
|
||||
((volume-type symbol :offset-assert 0)
|
||||
(point-count int16 :offset-assert 4)
|
||||
(normal-count int16 :offset-assert 6)
|
||||
(first-point vector :offset-assert 8)
|
||||
(first-normal vector :offset-assert 12)
|
||||
(num-planes int32 :offset-assert 16)
|
||||
(plane uint32 :offset-assert 20)
|
||||
((volume-type symbol :offset-assert 0)
|
||||
(point-count int16 :offset-assert 4)
|
||||
(normal-count int16 :offset-assert 6)
|
||||
(first-point vector :offset-assert 8)
|
||||
(first-normal vector :offset-assert 12)
|
||||
(num-planes int32 :offset-assert 16)
|
||||
(plane uint32 :offset-assert 20)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 12
|
||||
@@ -26,12 +27,12 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type vol-control
|
||||
|
||||
(deftype vol-control (basic)
|
||||
((flags uint32 :offset-assert 4)
|
||||
(process process-drawable :offset-assert 8)
|
||||
(pos-vol-count int32 :offset-assert 12)
|
||||
(pos-vol plane-volume 32 :inline :offset-assert 16)
|
||||
((flags uint32 :offset-assert 4)
|
||||
(process process-drawable :offset-assert 8)
|
||||
(pos-vol-count int32 :offset-assert 12)
|
||||
(pos-vol plane-volume 32 :inline :offset-assert 16)
|
||||
(neg-vol-count int32 :offset-assert 784)
|
||||
(neg-vol plane-volume 32 :inline :offset-assert 788)
|
||||
(debug-point basic :offset-assert 1556)
|
||||
@@ -43,16 +44,24 @@
|
||||
(:methods
|
||||
(new (symbol type process-drawable) _type_ 0)
|
||||
(dummy-9 (_type_) none 9)
|
||||
(dummy-10 () none 10)
|
||||
(dummy-10 (_type_ vector) none 10)
|
||||
(TODO-RENAME-11 (_type_) symbol 11)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 0 of type vol-control
|
||||
;; INFO: Return type mismatch object vs vol-control.
|
||||
;; Used lq/sq
|
||||
(defmethod new vol-control ((allocation symbol) (type-to-make type) (arg0 process-drawable))
|
||||
(let ((gp-0 (the-as object (object-new allocation type-to-make (the-as int (-> type-to-make size))))))
|
||||
|
||||
(defmethod
|
||||
new
|
||||
vol-control
|
||||
((allocation symbol) (type-to-make type) (arg0 process-drawable))
|
||||
(let
|
||||
((gp-0
|
||||
(the-as
|
||||
object
|
||||
(object-new allocation type-to-make (the-as int (-> type-to-make size)))
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (zero? (the-as vol-control gp-0))
|
||||
(go process-drawable-art-error "memory")
|
||||
(set! gp-0 0)
|
||||
@@ -156,8 +165,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;; definition for method 11 of type vol-control
|
||||
(defmethod TODO-RENAME-11 vol-control ((obj vol-control))
|
||||
(and *display-vol-marks* (logtest? (-> obj flags) 1))
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
;; name in dgo: ocean-h
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
;; NOTE - for water
|
||||
(define-extern ocean-get-height (function vector float))
|
||||
|
||||
;; The "ocean" renderer is used to render the infinite water.
|
||||
;; It doesn't draw the rivers in FJ or the water near the farmer.
|
||||
|
||||
|
||||
@@ -57,54 +57,54 @@
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype water-control (basic)
|
||||
((flags uint32 :offset-assert 4)
|
||||
(process process :offset-assert 8)
|
||||
(joint-index int32 :offset-assert 12)
|
||||
(top-y-offset float :offset-assert 16)
|
||||
(ripple-size meters :offset-assert 20)
|
||||
(enter-water-time uint64 :offset-assert 24)
|
||||
(wade-time uint64 :offset-assert 32)
|
||||
(on-water-time uint64 :offset-assert 40)
|
||||
(enter-swim-time uint64 :offset-assert 48)
|
||||
(swim-time uint64 :offset-assert 56)
|
||||
(base-height meters :offset-assert 64)
|
||||
(wade-height meters :offset-assert 68)
|
||||
(swim-height meters :offset-assert 72)
|
||||
(surface-height meters :offset-assert 76)
|
||||
(bottom-height meters :offset-assert 80)
|
||||
(height meters :offset-assert 84)
|
||||
(height-offset float 4 :offset-assert 88)
|
||||
(real-ocean-offset meters :offset 88)
|
||||
(ocean-offset meters :offset 92)
|
||||
(bob-offset meters :offset 96)
|
||||
(align-offset meters :offset 100)
|
||||
(swim-depth meters :offset-assert 104)
|
||||
(bob smush-control :inline :offset-assert 112)
|
||||
(volume handle :offset-assert 144)
|
||||
(bottom vector 2 :inline :offset-assert 160)
|
||||
(top vector 2 :inline :offset-assert 192)
|
||||
(enter-water-pos vector :inline :offset-assert 224)
|
||||
(drip-old-pos vector :inline :offset-assert 240)
|
||||
(drip-joint-index int32 :offset-assert 256)
|
||||
(drip-wetness float :offset-assert 260)
|
||||
(drip-time uint64 :offset-assert 264)
|
||||
(drip-speed float :offset-assert 272)
|
||||
(drip-height meters :offset-assert 276)
|
||||
(drip-mult float :offset-assert 280)
|
||||
((flags uint32 :offset-assert 4)
|
||||
(process process-drawable :offset-assert 8)
|
||||
(joint-index int32 :offset-assert 12)
|
||||
(top-y-offset float :offset-assert 16)
|
||||
(ripple-size meters :offset-assert 20)
|
||||
(enter-water-time uint64 :offset-assert 24)
|
||||
(wade-time uint64 :offset-assert 32)
|
||||
(on-water-time uint64 :offset-assert 40)
|
||||
(enter-swim-time uint64 :offset-assert 48)
|
||||
(swim-time uint64 :offset-assert 56)
|
||||
(base-height meters :offset-assert 64)
|
||||
(wade-height meters :offset-assert 68)
|
||||
(swim-height meters :offset-assert 72)
|
||||
(surface-height meters :offset-assert 76)
|
||||
(bottom-height meters :offset-assert 80)
|
||||
(height meters :offset-assert 84)
|
||||
(height-offset float 4 :offset-assert 88)
|
||||
(real-ocean-offset meters :offset 88)
|
||||
(ocean-offset meters :offset 92)
|
||||
(bob-offset meters :offset 96)
|
||||
(align-offset meters :offset 100)
|
||||
(swim-depth meters :offset-assert 104)
|
||||
(bob smush-control :inline :offset-assert 112)
|
||||
(volume handle :offset-assert 144)
|
||||
(bottom vector 2 :inline :offset-assert 160)
|
||||
(top vector 2 :inline :offset-assert 192)
|
||||
(enter-water-pos vector :inline :offset-assert 224)
|
||||
(drip-old-pos vector :inline :offset-assert 240)
|
||||
(drip-joint-index int32 :offset-assert 256)
|
||||
(drip-wetness float :offset-assert 260)
|
||||
(drip-time uint64 :offset-assert 264)
|
||||
(drip-speed float :offset-assert 272)
|
||||
(drip-height meters :offset-assert 276)
|
||||
(drip-mult float :offset-assert 280)
|
||||
)
|
||||
:method-count-assert 17
|
||||
:size-assert #x11c
|
||||
:flag-assert #x110000011c
|
||||
(:methods
|
||||
(new (symbol type process int float float float) _type_ 0)
|
||||
(dummy-9 () none 9)
|
||||
(dummy-9 (_type_) none 9)
|
||||
(dummy-10 (_type_) none 10)
|
||||
(dummy-11 () none 11)
|
||||
(start-bobbing! (_type_ float int int) none 11)
|
||||
(distance-from-surface (_type_) float 12)
|
||||
(dummy-13 (_type_ float vector int vector) none 13)
|
||||
(display-water-marks? (_type_) symbol 14)
|
||||
(dummy-15 () none 15)
|
||||
(dummy-16 () none 16)
|
||||
(TODO-RENAME-15 (_type_) none 15)
|
||||
(TODO-RENAME-16 (_type_) none 16)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
(object-new allocation type-to-make (the-as int (-> type-to-make size)))
|
||||
)
|
||||
)
|
||||
(set! (-> v0-0 process) arg0)
|
||||
(set! (-> v0-0 process) (the-as process-drawable arg0))
|
||||
(set! (-> v0-0 joint-index) arg1)
|
||||
(set! (-> v0-0 wade-height) arg4)
|
||||
(set! (-> v0-0 swim-height) arg3)
|
||||
@@ -151,8 +151,8 @@
|
||||
(wade-height meters :offset-assert 180)
|
||||
(swim-height meters :offset-assert 184)
|
||||
(bottom-height meters :offset-assert 188)
|
||||
(attack-event basic :offset-assert 192)
|
||||
(target uint64 :offset-assert 200)
|
||||
(attack-event symbol :offset-assert 192)
|
||||
(target handle :offset-assert 200)
|
||||
(flags uint32 :offset-assert 208)
|
||||
)
|
||||
:heap-base #x70
|
||||
@@ -163,13 +163,13 @@
|
||||
(water-vol-idle () _type_ :state 20)
|
||||
(water-vol-startup () _type_ :state 21)
|
||||
(TODO-RENAME-22 (_type_) ripple-wave-set 22)
|
||||
(dummy-23 () none 23)
|
||||
(dummy-24 () none 24)
|
||||
(reset-root! (_type_) none 23)
|
||||
(set-stack-size! (_type_) none 24)
|
||||
(TODO-RENAME-25 (_type_) object 25)
|
||||
(dummy-26 () none 26)
|
||||
(dummy-27 () none 27)
|
||||
(TODO-RENAME-26 (_type_) none 26)
|
||||
(dummy-27 (_type_) none 27)
|
||||
(get-ripple-height (_type_ vector) float 28)
|
||||
(dummy-29 () none 29)
|
||||
(TODO-RENAME-29 (_type_) uint 29)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -18,6 +18,7 @@
|
||||
(bit7 7) ;; TODO - nav-enemy::45
|
||||
(bit8 8)
|
||||
(bit10 10) ;; TODO - nav-enemy::nav-enemy-patrol-post
|
||||
(bit12 12) ;; TODO - rolling-lightning-mole::(enter nav-enemy-chase fleeing-nav-enemy)
|
||||
(bit13 13)
|
||||
(bit17 17)
|
||||
(bit19 19) ;; TODO - nav-enemy::lambda::17
|
||||
|
||||
@@ -367,20 +367,20 @@
|
||||
(let ((s4-2 format)
|
||||
(s3-2 arg1)
|
||||
(s2-2 "~0kwall:~6X mode:~-8S material:~-10S event:~S~%")
|
||||
(s1-2 (-> arg0 control unknown-int50))
|
||||
(s1-2 (-> arg0 control unknown-int60))
|
||||
(s0-2
|
||||
(pat-mode->string
|
||||
(the-as pat-surface (-> arg0 control unknown-int50))
|
||||
(the-as pat-surface (-> arg0 control unknown-int60))
|
||||
)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
sv-96
|
||||
(pat-material->string (the-as pat-surface (-> arg0 control unknown-int50)))
|
||||
(pat-material->string (the-as pat-surface (-> arg0 control unknown-int60)))
|
||||
)
|
||||
(let
|
||||
((t1-2
|
||||
(pat-event->string (the-as pat-surface (-> arg0 control unknown-int50)))
|
||||
(pat-event->string (the-as pat-surface (-> arg0 control unknown-int60)))
|
||||
)
|
||||
)
|
||||
(s4-2 s3-2 s2-2 s1-2 s0-2 sv-96 t1-2)
|
||||
@@ -1051,13 +1051,13 @@
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self control unknown-dword60)
|
||||
(-> self control unknown-dword70)
|
||||
(-> *display* base-frame-counter)
|
||||
)
|
||||
)
|
||||
(if
|
||||
(<
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword60))
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword70))
|
||||
60
|
||||
)
|
||||
(set! f30-4 (+ 204800.0 f30-4))
|
||||
@@ -1231,7 +1231,7 @@
|
||||
150
|
||||
)
|
||||
(logtest? (-> self control unknown-surface01 flags) 16)
|
||||
(!= (-> self control unknown-float40) 0.0)
|
||||
(!= (-> self control unknown-float41) 0.0)
|
||||
)
|
||||
(zero? (logand (-> self control unknown-surface01 flags) 32))
|
||||
)
|
||||
@@ -1619,7 +1619,7 @@
|
||||
(if
|
||||
(<
|
||||
(logand
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword70))
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword80))
|
||||
3
|
||||
)
|
||||
1
|
||||
@@ -1629,8 +1629,8 @@
|
||||
)
|
||||
(if
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword70))
|
||||
(-> self control unknown-dword71)
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword80))
|
||||
(-> self control unknown-dword81)
|
||||
)
|
||||
(target-timed-invulnerable-off self)
|
||||
)
|
||||
@@ -1982,12 +1982,12 @@
|
||||
(cond
|
||||
((and
|
||||
(< 2457.6 (vector-length s4-2))
|
||||
(not (-> self control unknown-int20))
|
||||
(not (-> self control unknown-int21))
|
||||
)
|
||||
(TODO-RENAME-28 (-> self control) (vector-normalize! s4-2 2457.6))
|
||||
)
|
||||
(else
|
||||
(set! (-> self control unknown-int20) (the-as int #t))
|
||||
(set! (-> self control unknown-int21) (the-as int #t))
|
||||
(TODO-RENAME-30
|
||||
(-> self control)
|
||||
(vector-!
|
||||
@@ -2218,7 +2218,7 @@
|
||||
(target-calc-camera-pos)
|
||||
(when (logtest? (-> self state-flags) #x4000)
|
||||
(set! (-> self state-flags) (logand -28673 (-> self state-flags)))
|
||||
(set! (-> self control unknown-float40) 0.0)
|
||||
(set! (-> self control unknown-float41) 0.0)
|
||||
)
|
||||
(set! (-> self control unknown-int00) 0)
|
||||
0
|
||||
@@ -2231,9 +2231,9 @@
|
||||
(countdown (s5-0 gp-0)
|
||||
(set! (-> self control unknown-int40) s5-0)
|
||||
(flag-setup)
|
||||
(if (< (-> self control unknown-float40) 0.0)
|
||||
(if (< (-> self control unknown-float41) 0.0)
|
||||
(set!
|
||||
(-> self control unknown-float40)
|
||||
(-> self control unknown-float41)
|
||||
(- 1.0 (-> self control unknown-cpad-info00 stick0-speed))
|
||||
)
|
||||
)
|
||||
@@ -2257,9 +2257,9 @@
|
||||
)
|
||||
(set! f30-0 0.0)
|
||||
)
|
||||
(when (!= (-> self control unknown-float40) 0.0)
|
||||
(let ((f0-12 (fmin 1.0 (-> self control unknown-float40))))
|
||||
(set! (-> self control unknown-float40) f0-12)
|
||||
(when (!= (-> self control unknown-float41) 0.0)
|
||||
(let ((f0-12 (fmin 1.0 (-> self control unknown-float41))))
|
||||
(set! (-> self control unknown-float41) f0-12)
|
||||
(let
|
||||
((a1-2 (vector-float*! (new 'stack-no-clear 'vector) (if (= f30-0 0.0)
|
||||
*zero-vector*
|
||||
@@ -2649,7 +2649,7 @@
|
||||
(set! (-> self cam-user-mode) 'normal)
|
||||
(set! (-> self control unknown-handle10) (the-as handle #f))
|
||||
(set! (-> self control unknown-handle00) (the-as handle #f))
|
||||
(set! (-> self control unknown-dword72) 0)
|
||||
(set! (-> self control unknown-dword82) 0)
|
||||
(buzz-stop! 0)
|
||||
self
|
||||
)
|
||||
@@ -2775,7 +2775,7 @@
|
||||
(add-connection *debug-engine* self target-print-stats self *stdcon0* #f)
|
||||
)
|
||||
(activate-hud self)
|
||||
(set! (-> self fp-hud) (the-as uint #f))
|
||||
(set! (-> self fp-hud) (the-as handle #f))
|
||||
(set! (-> self water) (new 'process 'water-control self 9 0.0 8192.0 2048.0))
|
||||
(set! (-> self water flags) (the-as uint #x4000f0))
|
||||
(reset-target-state #t)
|
||||
|
||||
@@ -5,3 +5,335 @@
|
||||
;; name in dgo: sidekick
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
(define-extern *sidekick-sg* skeleton-group)
|
||||
(define-extern sidekick-clone (state sidekick))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(define
|
||||
*sidekick-remap*
|
||||
'(
|
||||
("run-to-stance-left"
|
||||
"run-to-stance"
|
||||
)
|
||||
("run-to-stance-loop-left"
|
||||
"run-to-stance-loop"
|
||||
)
|
||||
("stance-loop-left"
|
||||
"stance-loop"
|
||||
)
|
||||
("run-to-stance-right"
|
||||
"run-to-stance"
|
||||
)
|
||||
("run-to-stance-loop-right"
|
||||
"run-to-stance-loop"
|
||||
)
|
||||
("stance-loop-right"
|
||||
"stance-loop"
|
||||
)
|
||||
("run-to-stance-up"
|
||||
"run-to-stance"
|
||||
)
|
||||
("run-to-stance-loop-up"
|
||||
"run-to-stance-loop"
|
||||
)
|
||||
("stance-loop-up"
|
||||
"stance-loop"
|
||||
)
|
||||
("run-to-stance-down"
|
||||
"run-to-stance"
|
||||
)
|
||||
("run-to-stance-loop-down"
|
||||
"run-to-stance-loop"
|
||||
)
|
||||
("stance-loop-down"
|
||||
"stance-loop"
|
||||
)
|
||||
("run-right"
|
||||
"run"
|
||||
)
|
||||
("run-left"
|
||||
"run"
|
||||
)
|
||||
("walk-right"
|
||||
"walk"
|
||||
)
|
||||
("walk-left"
|
||||
"walk"
|
||||
)
|
||||
("edge-grab-stance1"
|
||||
"edge-grab-stance1"
|
||||
"edge-grab-stance1-alt"
|
||||
)
|
||||
("pole-cycle" "pole-cycle" "pole-cycle2")
|
||||
)
|
||||
)
|
||||
|
||||
(defun cspace<-cspace+quaternion! ((arg0 cspace) (arg1 cspace) (arg2 quaternion))
|
||||
(rlet ((Q :class vf)
|
||||
(vf0 :class vf)
|
||||
(vf1 :class vf)
|
||||
(vf2 :class vf)
|
||||
(vf3 :class vf)
|
||||
(vf4 :class vf)
|
||||
(vf5 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(let ((s5-0 (-> arg0 bone transform)))
|
||||
(quaternion->matrix s5-0 arg2)
|
||||
(.lvf vf1 (&-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad))
|
||||
(.lvf vf2 (&-> (-> arg1 bone) transform vector 3 quad))
|
||||
(.lvf vf3 (&-> s5-0 vector 0 quad))
|
||||
(.lvf vf4 (&-> s5-0 vector 1 quad))
|
||||
(.lvf vf5 (&-> s5-0 vector 2 quad))
|
||||
(.div.vf Q vf0 vf2 :fsf #b11 :ftf #b11)
|
||||
(.wait.vf)
|
||||
(.mul.vf vf2 vf2 Q :mask #b111)
|
||||
(.mov.vf vf2 vf0 :mask #b1000)
|
||||
(.mul.x.vf vf3 vf3 vf1)
|
||||
(.mul.y.vf vf4 vf4 vf1)
|
||||
(.mul.z.vf vf5 vf5 vf1)
|
||||
(.svf (&-> s5-0 vector 3 quad) vf2)
|
||||
(.svf (&-> s5-0 vector 0 quad) vf3)
|
||||
(.svf (&-> s5-0 vector 1 quad) vf4)
|
||||
(.svf (&-> s5-0 vector 2 quad) vf5)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defstate sidekick-clone (sidekick)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(local-vars (v0-0 object))
|
||||
(case arg2
|
||||
(('matrix)
|
||||
(case (-> arg3 param 0)
|
||||
(('play-anim)
|
||||
(set! v0-0 (-> self node-list data))
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param0)
|
||||
cspace<-cspace+quaternion!
|
||||
)
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param1)
|
||||
(the-as basic (-> self parent-override 0 node-list data))
|
||||
)
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param2)
|
||||
(the-as basic (-> self parent-override 0 control quat))
|
||||
)
|
||||
)
|
||||
(('copy-parent)
|
||||
(set! v0-0 (-> self node-list data))
|
||||
(set! (-> (the-as (inline-array cspace) v0-0) 0 param0) cspace<-cspace!)
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param1)
|
||||
(the-as basic (-> self parent-override 0 node-list data))
|
||||
)
|
||||
(set! (-> (the-as (inline-array cspace) v0-0) 0 param2) #f)
|
||||
)
|
||||
(else
|
||||
(set! v0-0 (-> self node-list data))
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param0)
|
||||
cspace<-cspace+quaternion!
|
||||
)
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param1)
|
||||
(the-as
|
||||
basic
|
||||
(-> self parent-override 0 control unknown-cspace10 parent)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param2)
|
||||
(the-as basic (-> self parent-override 0 control quat))
|
||||
)
|
||||
)
|
||||
)
|
||||
v0-0
|
||||
)
|
||||
(('shadow)
|
||||
(set! v0-0 (-> arg3 param 0))
|
||||
(set! (-> self shadow-in-movie?) (the-as symbol v0-0))
|
||||
v0-0
|
||||
)
|
||||
(('blend-shape)
|
||||
(cond
|
||||
((-> arg3 param 0)
|
||||
(set! v0-0 (logior (-> self skel status) 8))
|
||||
(set! (-> self skel status) (the-as uint v0-0))
|
||||
)
|
||||
(else
|
||||
(set! v0-0 (logand -9 (-> self skel status)))
|
||||
(set! (-> self skel status) (the-as uint v0-0))
|
||||
)
|
||||
)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
:code
|
||||
(the-as (function none :behavior sidekick) looping-code)
|
||||
:post
|
||||
(behavior ()
|
||||
(let ((v1-0 'process-drawable-art-error)
|
||||
(a0-0 (-> self parent-override))
|
||||
)
|
||||
(when (!= (-> (if a0-0
|
||||
(-> a0-0 0 self-override)
|
||||
)
|
||||
next-state
|
||||
name
|
||||
)
|
||||
v1-0
|
||||
)
|
||||
(quaternion-copy!
|
||||
(-> self root quat)
|
||||
(-> self parent-override 0 control quat)
|
||||
)
|
||||
(set! (-> self anim-seed) (-> self parent-override 0 anim-seed))
|
||||
(set! (-> self draw status) (-> self parent-override 0 draw status))
|
||||
(joint-control-copy! (-> self skel) (-> self parent-override 0 skel))
|
||||
(joint-control-remap!
|
||||
(-> self skel)
|
||||
(-> self draw art-group)
|
||||
(-> self parent-override 0 draw art-group)
|
||||
*sidekick-remap*
|
||||
(the-as int (-> self anim-seed))
|
||||
""
|
||||
)
|
||||
(let ((v1-22 (-> self parent-override 0 draw color-mult quad)))
|
||||
(set! (-> self draw color-mult quad) v1-22)
|
||||
)
|
||||
(let ((v1-26 (-> self parent-override 0 draw color-emissive quad)))
|
||||
(set! (-> self draw color-emissive quad) v1-26)
|
||||
)
|
||||
(set!
|
||||
(-> self draw secondary-interp)
|
||||
(-> self parent-override 0 draw secondary-interp)
|
||||
)
|
||||
(if *debug-segment*
|
||||
(add-frame
|
||||
(-> *display* frames (-> *display* on-screen) frame profile-bar 0)
|
||||
'draw
|
||||
(new 'static 'rgba :r #x40 :b #x40 :a #x80)
|
||||
)
|
||||
)
|
||||
(dummy-17 self)
|
||||
(if *debug-segment*
|
||||
(add-frame
|
||||
(-> *display* frames (-> *display* on-screen) frame profile-bar 0)
|
||||
'draw
|
||||
(new 'static 'rgba :r #x80 :a #x80)
|
||||
)
|
||||
)
|
||||
(vector<-cspace!
|
||||
(-> self draw origin)
|
||||
(-> self node-list data (-> self draw origin-joint-index))
|
||||
)
|
||||
)
|
||||
)
|
||||
(when *display-sidekick-stats*
|
||||
(format *stdcon* "~%")
|
||||
(dummy-10 (-> self skel) (the-as symbol *stdcon*))
|
||||
(add-debug-sphere
|
||||
*display-sidekick-stats*
|
||||
(bucket-id debug-draw1)
|
||||
(->
|
||||
self
|
||||
parent-override
|
||||
0
|
||||
control
|
||||
unknown-cspace10
|
||||
parent
|
||||
bone
|
||||
transform
|
||||
vector
|
||||
3
|
||||
)
|
||||
409.6
|
||||
(new 'static 'rgba :g #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere
|
||||
*display-sidekick-stats*
|
||||
(bucket-id debug-draw1)
|
||||
(-> self node-list data 3 bone transform vector 3)
|
||||
409.6
|
||||
(new 'static 'rgba :r #xff :g #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere
|
||||
*display-sidekick-stats*
|
||||
(bucket-id debug-draw1)
|
||||
(-> self draw origin)
|
||||
409.6
|
||||
(new 'static 'rgba :r #xff :g #x80 :a #x80)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self draw shadow)
|
||||
(the-as shadow-geo (if (and (movie?) (-> self shadow-in-movie?))
|
||||
(-> self draw art-group data 2)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-26 (-> self skel effect)))
|
||||
(if a0-26
|
||||
(TODO-RENAME-9 a0-26)
|
||||
)
|
||||
)
|
||||
(if (logtest? (-> self skel status) 72)
|
||||
(merc-blend-shape self)
|
||||
)
|
||||
(if (logtest? (-> self skel status) 384)
|
||||
(merc-eye-anim self)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defskelgroup *sidekick-sg* sidekick
|
||||
0
|
||||
-1
|
||||
((1 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 3)
|
||||
:longest-edge (meters 1)
|
||||
:shadow 2
|
||||
:texture-level 2
|
||||
:sort 1
|
||||
)
|
||||
|
||||
(defbehavior init-sidekick sidekick ()
|
||||
(logior! (-> self mask) (process-mask sidekick))
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(vector-identity! (-> self root scale))
|
||||
(quaternion-identity! (-> self root quat))
|
||||
(initialize-skeleton self *sidekick-sg* '())
|
||||
(set! (-> self draw origin-joint-index) (the-as uint 6))
|
||||
(set! (-> self draw shadow-joint-index) (the-as uint 6))
|
||||
(set! (-> self draw shadow-ctrl) *target-shadow-control*)
|
||||
(logior! (-> self skel status) 256)
|
||||
(let ((v1-14 (-> self node-list data)))
|
||||
(set! (-> v1-14 0 param0) cspace<-cspace+quaternion!)
|
||||
(set!
|
||||
(-> v1-14 0 param1)
|
||||
(the-as basic (-> self parent-override 0 control unknown-cspace10 parent))
|
||||
)
|
||||
(set!
|
||||
(-> v1-14 0 param2)
|
||||
(the-as basic (-> self parent-override 0 control quat))
|
||||
)
|
||||
)
|
||||
(set! (-> self shadow-in-movie?) #t)
|
||||
(go sidekick-clone)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defun starts ()
|
||||
(send-event *target* 'sidekick #t)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,35 +11,47 @@
|
||||
(defun-extern start symbol continue-point target)
|
||||
;; TODO - for mood
|
||||
(define-extern target-joint-pos (function vector)) ;; TODO - unconfirmed
|
||||
;; TODO - for target-util
|
||||
(define-extern target-falling (state symbol none))
|
||||
(define-extern target-slide-down (state none))
|
||||
;; TODO - for logic-target - defined in shadow
|
||||
(define-extern do-target-shadow (function none :behavior target))
|
||||
;; TODO - for logic-target - defined in powerups
|
||||
(define-extern target-powerup-process (function none :behavior target))
|
||||
;; TODO - for logic-target - defined in target-handler
|
||||
(define-extern target-exit (function none))
|
||||
(define-extern target-generic-event-handler (function process int symbol event-message-block object))
|
||||
(define-extern target-exit (function none :behavior target))
|
||||
(define-extern target-generic-event-handler (function process int symbol event-message-block object :behavior target))
|
||||
;; TODO - for logic-target - defined in sidekick
|
||||
(define-extern init-sidekick (function none)) ;; TODO - not finished
|
||||
(declare-type sidekick process-drawable)
|
||||
(define-extern init-sidekick (function none :behavior sidekick))
|
||||
;; TODO - for logic-target - defined in target-death
|
||||
(define-extern target-continue (state continue-point none))
|
||||
(define-extern target-periscope (state target))
|
||||
(define-extern target-continue (state continue-point target))
|
||||
(define-extern target-periscope (state handle target)) ;; unknown type
|
||||
(define-extern mod-var-jump (function symbol symbol symbol vector vector :behavior target))
|
||||
(define-extern init-var-jump (function float float vector vector vector vector :behavior target)) ;; 1st and 2nd vectors may be symbols instead?
|
||||
(define-extern target-standard-event-handler function)
|
||||
;; TODO - for target-util
|
||||
(define-extern target-falling (state symbol target))
|
||||
(define-extern target-slide-down (state target))
|
||||
;; TODO - for target-tube
|
||||
(define-extern target-attacked (function symbol attack-info process process (state handle attack-info target) object :behavior target)) ;; unconfirmed, target-tube::(event target-tube-start)
|
||||
;; TODO - for racer-states
|
||||
(define-extern racer-collision-reaction (function control-info collide-shape-intersect vector vector none))
|
||||
;; TODO -for target2
|
||||
(define-extern target-falling-anim-trans (function none :behavior target)) ;; unconfirmed
|
||||
|
||||
(declare-type sidekick basic)
|
||||
(declare-type collide-cache basic)
|
||||
(declare-type snowball-info basic)
|
||||
(declare-type tube-info basic)
|
||||
(declare-type racer-info basic)
|
||||
(declare-type flut-info basic)
|
||||
(declare-type target process-drawable)
|
||||
(defun-extern start symbol continue-point target)
|
||||
|
||||
;; NOTE - for logic-target - defined in sidekick
|
||||
(declare-type sidekick process-drawable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype target (process-drawable)
|
||||
((control control-info :offset 112)
|
||||
((self-override target :offset 28)
|
||||
(control control-info :offset 112)
|
||||
(fact-info-target fact-info-target :offset 144)
|
||||
(skel2 basic :offset-assert 176)
|
||||
(racer racer-info :offset-assert 180)
|
||||
@@ -56,12 +68,12 @@
|
||||
(alt-cam-pos vector :inline :offset-assert 448)
|
||||
(snowball snowball-info :offset-assert 464)
|
||||
(tube tube-info :offset-assert 468)
|
||||
(flut basic :offset-assert 472)
|
||||
(flut flut-info :offset-assert 472)
|
||||
(current-level level :offset-assert 476)
|
||||
(saved-pos transformq :inline :offset-assert 480)
|
||||
(saved-owner uint64 :offset-assert 528)
|
||||
(alt-neck-pos vector :inline :offset-assert 544)
|
||||
(fp-hud uint64 :offset-assert 560)
|
||||
(fp-hud handle :offset-assert 560)
|
||||
(no-load-wait uint64 :offset-assert 568)
|
||||
(no-look-around-wait uint64 :offset-assert 576)
|
||||
)
|
||||
@@ -73,8 +85,8 @@
|
||||
(dummy-20 (_type_ collide-cache) object 20)
|
||||
)
|
||||
(:states
|
||||
target-clone-anim
|
||||
target-death
|
||||
(target-clone-anim handle)
|
||||
(target-death symbol)
|
||||
(target-hit-ground symbol)
|
||||
(target-racing-bounce float float symbol)
|
||||
(target-racing-clone-anim handle)
|
||||
@@ -94,9 +106,10 @@
|
||||
(define-perm *target* target #f)
|
||||
|
||||
(deftype sidekick (process-drawable)
|
||||
((control control-info :offset 112)
|
||||
(anim-seed uint64 :offset 192)
|
||||
(shadow-in-movie? symbol :offset-assert 200)
|
||||
((parent-override (pointer target) :offset 12)
|
||||
(control control-info :offset 112)
|
||||
(anim-seed uint64 :offset 192)
|
||||
(shadow-in-movie? symbol :offset-assert 200)
|
||||
)
|
||||
:heap-base #x60
|
||||
:method-count-assert 20
|
||||
@@ -106,4 +119,9 @@
|
||||
|
||||
|
||||
(define-perm *sidekick* sidekick #f)
|
||||
(define-extern target-attacked (function symbol uint uint process (state target) object :behavior target)) ;; unconfirmed, target-tube::(event target-tube-start)
|
||||
|
||||
0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -870,7 +870,7 @@
|
||||
(- (-> self control trans y) (-> self control shadow-pos y))
|
||||
)
|
||||
|
||||
(defbehavior fall-test target ((arg0 symbol) (arg1 symbol))
|
||||
(defbehavior fall-test target ()
|
||||
(when
|
||||
(and
|
||||
(zero? (logand (-> self control status) 1))
|
||||
@@ -918,9 +918,10 @@
|
||||
)
|
||||
(go target-falling #f)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defbehavior slide-down-test target ((arg0 symbol) (arg1 symbol))
|
||||
(defbehavior slide-down-test target ()
|
||||
(if
|
||||
(and
|
||||
(zero? (logand (-> self control status) 129))
|
||||
@@ -933,6 +934,7 @@
|
||||
)
|
||||
(go target-slide-down)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defbehavior smack-surface? target ((arg0 symbol))
|
||||
@@ -1066,13 +1068,13 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(-> self control unknown-dword30)
|
||||
(-> self control unknown-dword31)
|
||||
)
|
||||
)
|
||||
#t
|
||||
)
|
||||
(else
|
||||
(set! (-> self control unknown-dword31) (-> *display* base-frame-counter))
|
||||
(set! (-> self control unknown-dword32) (-> *display* base-frame-counter))
|
||||
#f
|
||||
)
|
||||
)
|
||||
@@ -1091,12 +1093,12 @@
|
||||
(-> *display* base-frame-counter)
|
||||
(the-as int (-> *TARGET-bank* attack-timeout))
|
||||
)
|
||||
(-> self control unknown-dword32)
|
||||
(-> self control unknown-dword33)
|
||||
)
|
||||
#t
|
||||
)
|
||||
(else
|
||||
(set! (-> self control unknown-dword33) (-> *display* base-frame-counter))
|
||||
(set! (-> self control unknown-dword34) (-> *display* base-frame-counter))
|
||||
#f
|
||||
)
|
||||
)
|
||||
@@ -1136,7 +1138,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
(defbehavior delete-back-vel target ((arg0 float))
|
||||
(defbehavior delete-back-vel target ()
|
||||
(let ((s5-0 (new-stack-vector0)))
|
||||
(vector-z-quaternion! s5-0 (-> self control dir-targ))
|
||||
(let ((gp-0 (new-stack-vector0))
|
||||
@@ -1181,8 +1183,8 @@
|
||||
|
||||
(defun target-timed-invulnerable ((arg0 seconds) (arg1 target))
|
||||
(logior! (-> arg1 state-flags) 32)
|
||||
(set! (-> arg1 control unknown-dword70) (-> *display* base-frame-counter))
|
||||
(set! (-> arg1 control unknown-dword71) (the-as int arg0))
|
||||
(set! (-> arg1 control unknown-dword80) (-> *display* base-frame-counter))
|
||||
(set! (-> arg1 control unknown-dword81) (the-as int arg0))
|
||||
(dummy-53 (-> arg1 control) 2 4096 0)
|
||||
0
|
||||
(none)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -28,6 +28,10 @@
|
||||
(declare-type hud-bike-heat hud)
|
||||
(declare-type hud-money-all hud)
|
||||
|
||||
;; TODO - for target2
|
||||
(define-extern enable-hud (function none))
|
||||
(define-extern disable-hud (function int none))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype hud-icon (basic)
|
||||
|
||||
@@ -172,6 +172,9 @@
|
||||
(beach-flutflutegg-hint #x275)
|
||||
|
||||
(sidekick-hint-fish-powerup #x278)
|
||||
|
||||
(misty-racer-hit-the-ballon-lurkers #x27e)
|
||||
|
||||
|
||||
(sidekick-speech-hint-crate-darkeco1 #x281)
|
||||
(beach-collectors-unblocked #x288)
|
||||
@@ -192,7 +195,7 @@
|
||||
|
||||
(found-all-scout-flies #x296)
|
||||
(yakow-owed-powercell #x297)
|
||||
|
||||
|
||||
(misty-teetertotter-bonk-dax-tutorial #x2a4)
|
||||
(sidekick-hint-misty-get-red-eco #x2a5)
|
||||
|
||||
@@ -208,6 +211,11 @@
|
||||
(missed #x2b5)
|
||||
(lose! #x2b6)
|
||||
|
||||
(daxter-screaming-jump #x290)
|
||||
(daxter-wahoo-jump #x291)
|
||||
|
||||
(red-eco-tutorial #x2a6)
|
||||
|
||||
(village2-gambler-money #x300)
|
||||
(village2-geologist-money #x301)
|
||||
(village2-warrior-money #x302)
|
||||
@@ -249,15 +257,13 @@
|
||||
(rolling-ring-chase-2 #x325)
|
||||
|
||||
(rolling-beat-lurkers #x327)
|
||||
|
||||
(swamp-finished-with-flutflut #x328)
|
||||
|
||||
(rolling-race-beat-record #x335)
|
||||
(sidekick-speech-hint-rolling-crate-darkeco #x336)
|
||||
|
||||
(rolling-lightning-moles-completion #x338)
|
||||
(rolling-dark-plants-location-hint #x339)
|
||||
(rolling-dark-plants-hint #x33a)
|
||||
|
||||
(rolling-flying-lurker-intro #x33c)
|
||||
(rolling-ring-hint-one-ring-down #x33f)
|
||||
(rolling-ring-hint-be-quick-to-next #x340)
|
||||
(rolling-ring-hint-be-quick-all #x341)
|
||||
@@ -270,6 +276,7 @@
|
||||
(sunken-blue-eco-charger-all-hint #x34d)
|
||||
|
||||
(swamp-rats-nest-hint #x358)
|
||||
(daxter-you-can-shoot-with-yellow-eco #x359)
|
||||
|
||||
(swamp-bats-hint #x364) ;; maybe we can ???? the bats. lol
|
||||
(flutflut-reminder #x368)
|
||||
@@ -327,6 +334,8 @@
|
||||
(snow-frozen-crate #x42b) ;; task name?
|
||||
(snow-bumpers #x42c)
|
||||
|
||||
(daxter-maybe-you-can-shoot-better-goggles #x433)
|
||||
|
||||
(darkcave-light-crystal-low-light-hint #x437)
|
||||
(darkcave-light-crystal-hint #x438)
|
||||
|
||||
@@ -380,6 +389,9 @@
|
||||
(citadel-break-generators-reminder #x809)
|
||||
(citadel-climb-plat-hint #x80c)
|
||||
|
||||
(daxter-dont-miss-the-next-launcher #x80d)
|
||||
|
||||
(daxter-land-on-the-next-launcher #x812)
|
||||
(misty-battle-finished #x813)
|
||||
|
||||
(training-precursor-orbs #x901)
|
||||
|
||||
@@ -2361,7 +2361,7 @@
|
||||
:enter #f
|
||||
:event #f)))
|
||||
|
||||
(set! (-> dead-state code) nothing)
|
||||
(set! (-> dead-state code) (the (function none :behavior process) nothing))
|
||||
|
||||
|
||||
;; this is not yet defined.
|
||||
|
||||
@@ -786,7 +786,7 @@
|
||||
(-> self control unknown-vector102 y)
|
||||
(+ -4096.0 (-> self control unknown-vector102 y))
|
||||
)
|
||||
(set! (-> self control unknown-float120) (the-as float #f))
|
||||
(set! (-> self control unknown-uint20) (the-as uint #f))
|
||||
(vector-reset! (-> self control transv))
|
||||
(logior! (-> self state-flags) 1024)
|
||||
(set! (-> self alt-cam-pos quad) (-> arg1 quad))
|
||||
@@ -936,7 +936,7 @@
|
||||
(and
|
||||
(or
|
||||
(< (vector-dot gp-2 (-> self control transv)) 0.0)
|
||||
(-> self control unknown-float120)
|
||||
(-> self control unknown-spoolanim00)
|
||||
)
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 15)
|
||||
)
|
||||
@@ -947,10 +947,10 @@
|
||||
)
|
||||
(set! (-> self control transv x) (* 0.95 (-> self control transv x)))
|
||||
(set! (-> self control transv z) (* 0.95 (-> self control transv z)))
|
||||
(when (not (-> self control unknown-float120))
|
||||
(when (not (-> self control unknown-spoolanim00))
|
||||
(send-event self 'do-effect 'death-warp-out -1.0)
|
||||
(let ((v0-2 #t))
|
||||
(set! (-> self control unknown-float120) (the-as float v0-2))
|
||||
(set! (-> self control unknown-uint20) (the-as uint v0-2))
|
||||
v0-2
|
||||
)
|
||||
)
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> obj attack-event) (the-as basic v0-1))
|
||||
(set! (-> obj attack-event) (the-as symbol v0-1))
|
||||
v0-1
|
||||
)
|
||||
)
|
||||
|
||||
@@ -953,7 +953,7 @@
|
||||
(ripple-find-height obj 0 arg0)
|
||||
)
|
||||
|
||||
(defmethod dummy-24 water-anim ()
|
||||
(defmethod set-stack-size! water-anim ((obj water-anim))
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
(declare-type ecoclaw process-drawable)
|
||||
(define-extern *ecoclaw* (pointer ecoclaw))
|
||||
|
||||
(define-extern ecoclaw-idle (state ecoclaw)) ;; unknown type
|
||||
(define-extern ecoclaw-activate (state ecoclaw)) ;; unknown type
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defskelgroup *med-res-snow1-sg* medres-snowback
|
||||
|
||||
@@ -18,19 +18,22 @@
|
||||
:flag-assert #xd00000028
|
||||
(:methods
|
||||
(dummy-9 (_type_ vector) none 9)
|
||||
(dummy-10 (_type_ vector vector) symbol 10)
|
||||
(TODO-RENAME-10 (_type_ collide-prim-core vector) symbol 10)
|
||||
(dummy-11 (_type_ vector) symbol 11)
|
||||
(dummy-12 (_type_ vector) none 12)
|
||||
(dummy-12 (_type_ vector) vector 12)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defmethod dummy-10 torus ((obj torus) (arg0 vector) (arg1 vector))
|
||||
(defmethod
|
||||
TODO-RENAME-10
|
||||
torus
|
||||
((obj torus) (arg0 collide-prim-core) (arg1 vector))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
(f30-0 (+ (-> obj radius-secondary) (-> arg0 w)))
|
||||
(f30-0 (+ (-> obj radius-secondary) (-> arg0 world-sphere w)))
|
||||
)
|
||||
(vector-! gp-0 arg0 (-> obj origin))
|
||||
(vector-! gp-0 (the-as vector arg0) (-> obj origin))
|
||||
(vector-flatten! s5-0 gp-0 (-> obj axis))
|
||||
(vector-normalize! s5-0 (-> obj radius-primary))
|
||||
(vector-! arg1 gp-0 s5-0)
|
||||
@@ -44,7 +47,7 @@
|
||||
(when
|
||||
(and
|
||||
(logtest? (-> s4-0 prim-core collide-as) 16)
|
||||
(dummy-10 obj (the-as vector (-> s4-0 prim-core)) arg0)
|
||||
(TODO-RENAME-10 obj (-> s4-0 prim-core) arg0)
|
||||
)
|
||||
(countdown (s3-0 (-> s4-0 num-prims))
|
||||
(let ((v1-9 (-> s4-0 prims s3-0)))
|
||||
@@ -52,7 +55,7 @@
|
||||
(and
|
||||
(logtest? (-> v1-9 prim-core action) 1)
|
||||
(logtest? (-> v1-9 prim-core collide-as) 16)
|
||||
(dummy-10 obj (the-as vector (-> v1-9 prim-core)) arg0)
|
||||
(TODO-RENAME-10 obj (-> v1-9 prim-core) arg0)
|
||||
)
|
||||
(return #t)
|
||||
)
|
||||
@@ -152,14 +155,15 @@
|
||||
(vector-matrix*! arg0 arg0 s2-0)
|
||||
)
|
||||
(vector+! arg0 arg0 (-> obj origin))
|
||||
(none)
|
||||
arg0
|
||||
)
|
||||
|
||||
(deftype arcing-shot (process-drawable)
|
||||
((y-vel float :offset-assert 176)
|
||||
(grav float :offset-assert 180)
|
||||
(from vector :inline :offset-assert 192)
|
||||
(to vector :inline :offset-assert 208)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
(y-vel float :offset-assert 176)
|
||||
(grav float :offset-assert 180)
|
||||
(from vector :inline :offset-assert 192)
|
||||
(to vector :inline :offset-assert 208)
|
||||
)
|
||||
:heap-base #x70
|
||||
:method-count-assert 20
|
||||
@@ -185,12 +189,11 @@
|
||||
(* 0.5 (- (sqrtf (- (* f0-6 f0-6) (* 4.0 f3-1))) f0-6))
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self grav)
|
||||
(/ (- (* (-> self y-vel) (-> self y-vel))) (* 2.0 v1-2))
|
||||
(let ((f0-12 (/ (- (* (-> self y-vel) (-> self y-vel))) (* 2.0 v1-2))))
|
||||
(set! (-> self grav) f0-12)
|
||||
f0-12
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defbehavior arcing-shot-calculate arcing-shot ((arg0 vector) (arg1 float))
|
||||
@@ -198,9 +201,11 @@
|
||||
(vector-lerp! arg0 (-> self from) (-> self to) s5-0)
|
||||
(set! (-> arg0 y) (-> self from y))
|
||||
(+! (-> arg0 y) (* (-> self y-vel) s5-0))
|
||||
(+! (-> arg0 y) (* 0.5 s5-0 s5-0 (-> self grav)))
|
||||
(let ((f0-6 (+ (-> arg0 y) (* 0.5 s5-0 s5-0 (-> self grav)))))
|
||||
(set! (-> arg0 y) f0-6)
|
||||
f0-6
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defbehavior arcing-shot-draw arcing-shot ()
|
||||
@@ -288,7 +293,7 @@
|
||||
#f
|
||||
#f
|
||||
#f
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
)
|
||||
(-> s5-1 ppointer)
|
||||
)
|
||||
@@ -415,7 +420,7 @@
|
||||
#f
|
||||
#f
|
||||
#f
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
)
|
||||
(-> gp-0 ppointer)
|
||||
)
|
||||
@@ -652,7 +657,7 @@
|
||||
:trans
|
||||
(behavior ()
|
||||
(arcing-shot-calculate
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
(/
|
||||
(the float (- (-> *display* game-frame-counter) (-> self state-time)))
|
||||
(the float (-> self flight-time))
|
||||
@@ -796,9 +801,9 @@
|
||||
)
|
||||
(set! (-> s1-0 nav-radius) (* 0.75 (-> s1-0 root-prim local-sphere w)))
|
||||
(backup-collide-with-as s1-0)
|
||||
(set! (-> self root) s1-0)
|
||||
(set! (-> self root-override) s1-0)
|
||||
)
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self root-override trans quad) (-> arg0 quad))
|
||||
(initialize-skeleton self *darkecobomb-sg* '())
|
||||
(logclear! (-> self mask) (process-mask actor-pause))
|
||||
(set!
|
||||
@@ -855,7 +860,7 @@
|
||||
:trans
|
||||
(behavior ()
|
||||
(arcing-shot-calculate
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
(/
|
||||
(the float (- (-> *display* game-frame-counter) (-> self state-time)))
|
||||
(the float (-> self flight-time))
|
||||
@@ -868,7 +873,7 @@
|
||||
)
|
||||
(deactivate self)
|
||||
)
|
||||
(spawn (-> self part) (-> self root trans))
|
||||
(spawn (-> self part) (-> self root-override trans))
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
@@ -930,7 +935,7 @@
|
||||
|
||||
(defbehavior
|
||||
greenshot-init-by-other greenshot
|
||||
((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint))
|
||||
((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint) (arg4 float))
|
||||
(let
|
||||
((s2-0
|
||||
(new
|
||||
@@ -959,9 +964,9 @@
|
||||
)
|
||||
(set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w)))
|
||||
(backup-collide-with-as s2-0)
|
||||
(set! (-> self root) s2-0)
|
||||
(set! (-> self root-override) s2-0)
|
||||
)
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self root-override trans quad) (-> arg0 quad))
|
||||
(initialize-skeleton self *greenshot-sg* '())
|
||||
(logclear! (-> self mask) (process-mask actor-pause))
|
||||
(arcing-shot-setup arg0 arg1 arg2)
|
||||
@@ -1045,10 +1050,10 @@
|
||||
(the float (+ (-> self rotation-offset) (-> *display* game-frame-counter)))
|
||||
)
|
||||
)
|
||||
(matrix->quaternion (-> self root quat) s5-0)
|
||||
(matrix->quaternion (-> self root-override quat) s5-0)
|
||||
)
|
||||
(if (< (* 0.006666667 (the float (min 150 arg0))) 1.0)
|
||||
(spawn (-> self part) (-> self root trans))
|
||||
(spawn (-> self part) (-> self root-override trans))
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1066,9 +1071,9 @@
|
||||
#t
|
||||
)
|
||||
(set! (-> self draw status) (logand -3 (-> self draw status)))
|
||||
(quaternion-identity! (-> self root quat))
|
||||
(quaternion-identity! (-> self root-override quat))
|
||||
(set! (-> self ring radius-secondary) 3072.0)
|
||||
(set! (-> self ring origin quad) (-> self root trans quad))
|
||||
(set! (-> self ring origin quad) (-> self root-override trans quad))
|
||||
(+! (-> self ring origin y) (-> self ring radius-secondary))
|
||||
(set-vector! (-> self ring axis) 0.0 1.0 0.0 1.0)
|
||||
(let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000)))
|
||||
@@ -1099,7 +1104,7 @@
|
||||
redshot-particle-callback
|
||||
(-> self ppointer)
|
||||
#f
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
)
|
||||
(-> gp-1 ppointer)
|
||||
)
|
||||
@@ -1210,7 +1215,7 @@
|
||||
)
|
||||
(go redshot-explode)
|
||||
)
|
||||
(spawn (-> self shot-particle) (-> self root trans))
|
||||
(spawn (-> self shot-particle) (-> self root-override trans))
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
@@ -1236,7 +1241,7 @@
|
||||
(behavior ()
|
||||
(redshot-trans 1500)
|
||||
(arcing-shot-calculate
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
(/
|
||||
(the float (- (-> *display* game-frame-counter) (-> self state-time)))
|
||||
(the float (-> self flight-time))
|
||||
@@ -1249,7 +1254,7 @@
|
||||
)
|
||||
(go redshot-wait)
|
||||
)
|
||||
(spawn (-> self shot-particle) (-> self root trans))
|
||||
(spawn (-> self shot-particle) (-> self root-override trans))
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
@@ -1265,7 +1270,7 @@
|
||||
|
||||
(defbehavior
|
||||
redshot-init-by-other redshot
|
||||
((arg0 vector) (arg1 vector) (arg2 float) (arg3 int) (arg4 int) (arg5 int))
|
||||
((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint) (arg4 uint) (arg5 uint))
|
||||
(local-vars (sv-16 collide-shape-prim-sphere))
|
||||
(let
|
||||
((s0-0
|
||||
@@ -1296,15 +1301,15 @@
|
||||
(set-root-prim! s0-0 sv-16)
|
||||
(set! (-> s0-0 nav-radius) (* 0.75 (-> s0-0 root-prim local-sphere w)))
|
||||
(backup-collide-with-as s0-0)
|
||||
(set! (-> self root) s0-0)
|
||||
(set! (-> self root-override) s0-0)
|
||||
)
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self root-override trans quad) (-> arg0 quad))
|
||||
(initialize-skeleton self *redring-sg* '())
|
||||
(logclear! (-> self mask) (process-mask actor-pause))
|
||||
(arcing-shot-setup arg0 arg1 arg2)
|
||||
(set! (-> self flight-time) arg3)
|
||||
(set! (-> self stall-time) arg4)
|
||||
(set! (-> self rotation-offset) arg5)
|
||||
(set! (-> self flight-time) (the-as int arg3))
|
||||
(set! (-> self stall-time) (the-as int arg4))
|
||||
(set! (-> self rotation-offset) (the-as int arg5))
|
||||
(set!
|
||||
(-> self part)
|
||||
(create-launch-control (-> *part-group-id-table* 647) self)
|
||||
@@ -1331,7 +1336,7 @@
|
||||
:volume #x400
|
||||
:fo-max 80
|
||||
)
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
)
|
||||
)
|
||||
(go redshot-idle)
|
||||
@@ -1378,13 +1383,13 @@
|
||||
:trans
|
||||
(behavior ()
|
||||
(arcing-shot-calculate
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
(/
|
||||
(the float (- (-> *display* game-frame-counter) (-> self state-time)))
|
||||
(the float (-> self flight-time))
|
||||
)
|
||||
)
|
||||
(spawn (-> self part) (-> self root trans))
|
||||
(spawn (-> self part) (-> self root-override trans))
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* game-frame-counter) (-> self state-time))
|
||||
@@ -1438,9 +1443,9 @@
|
||||
)
|
||||
(set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w)))
|
||||
(backup-collide-with-as s2-0)
|
||||
(set! (-> self root) s2-0)
|
||||
(set! (-> self root-override) s2-0)
|
||||
)
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self root-override trans quad) (-> arg0 quad))
|
||||
(initialize-skeleton self *redring-sg* '())
|
||||
(logior! (-> self draw status) 2)
|
||||
(arcing-shot-setup arg0 arg1 arg2)
|
||||
|
||||
@@ -3917,9 +3917,11 @@
|
||||
(the-as (function none :behavior robotboss) transform-post)
|
||||
)
|
||||
|
||||
;; WARN: Function may read a register that is not set: t2
|
||||
(defbehavior
|
||||
robotboss-greenshot robotboss
|
||||
((arg0 vector) (arg1 basic) (arg2 basic) (arg3 symbol))
|
||||
(local-vars (t2-0 none))
|
||||
(+! (-> self children-spawned) 1)
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(let ((s2-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -3937,7 +3939,7 @@
|
||||
(the-as pointer #x70004000)
|
||||
)
|
||||
)
|
||||
(run-now-in-process s1-1 greenshot-init-by-other gp-0 s2-0 arg1 arg2)
|
||||
(run-now-in-process s1-1 greenshot-init-by-other gp-0 s2-0 arg1 arg2 t2-0)
|
||||
(-> s1-1 ppointer)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -12,15 +12,16 @@
|
||||
)
|
||||
|
||||
(deftype flutflut (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
(extra-trans vector :inline :offset-assert 176)
|
||||
(condition int32 :offset-assert 192)
|
||||
(auto-get-off symbol :offset-assert 196)
|
||||
(cell handle :offset-assert 200)
|
||||
(path-data path-control 2 :offset-assert 208)
|
||||
(path-target path-control :offset 208)
|
||||
(path-flut path-control :offset 212)
|
||||
(touch-time uint64 :offset-assert 216)
|
||||
((parent-override (pointer target) :offset 12)
|
||||
(root-override collide-shape-moving :offset 112)
|
||||
(extra-trans vector :inline :offset-assert 176)
|
||||
(condition int32 :offset-assert 192)
|
||||
(auto-get-off symbol :offset-assert 196)
|
||||
(cell handle :offset-assert 200)
|
||||
(path-data path-control 2 :offset-assert 208)
|
||||
(path-target path-control :offset 208)
|
||||
(path-flut path-control :offset 212)
|
||||
(touch-time uint64 :offset-assert 216)
|
||||
)
|
||||
:pack-me
|
||||
:heap-base #x70
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
(declare-type fisher-fish process-drawable)
|
||||
(define-extern fisher-fish-caught (state fisher-fish))
|
||||
(define-extern fisher-fish-die (state fisher-fish))
|
||||
(define-extern cspace<-cspace+quaternion! (function cspace quaternion cspace))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
@@ -2853,7 +2852,7 @@
|
||||
(activate! (-> self control unknown-smush00) 1.0 120 210 0.3 1.0)
|
||||
)
|
||||
((= arg2 'lose)
|
||||
(set! (-> self control unknown-float120) (the-as float arg2))
|
||||
(set! (-> self control unknown-uint20) (the-as uint arg2))
|
||||
arg2
|
||||
)
|
||||
(else
|
||||
@@ -2866,7 +2865,7 @@
|
||||
(set! (-> self control unknown-surface00) *empty-mods*)
|
||||
(logior! (-> self state-flags) 16)
|
||||
(set-zero! (-> self control unknown-smush00))
|
||||
(set! (-> self control unknown-float120) (the-as float #f))
|
||||
(set! (-> self control unknown-uint20) (the-as uint #f))
|
||||
(none)
|
||||
)
|
||||
:exit
|
||||
@@ -2983,7 +2982,7 @@
|
||||
(set! (-> s5-1 frame-num) (ja-aframe 15.0 0))
|
||||
)
|
||||
(let ((s5-2 (new 'stack-no-clear 'vector)))
|
||||
(until (-> self control unknown-float120)
|
||||
(until (-> self control unknown-spoolanim00)
|
||||
(let ((v1-42 (handle->process arg0)))
|
||||
(when v1-42
|
||||
(let ((a0-28 (-> self skel root-channel 0)))
|
||||
@@ -3040,7 +3039,7 @@
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
(case (-> self control unknown-float120)
|
||||
(case (-> self control unknown-spoolanim00)
|
||||
(('lose)
|
||||
(ja-channel-push! 1 30)
|
||||
(let ((a0-38 (-> self skel root-channel 0)))
|
||||
|
||||
@@ -5,3 +5,254 @@
|
||||
;; name in dgo: collide-reaction-racer
|
||||
;; dgos: L1, FIC, LAV, MIS, OGR, RACERP, ROL
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defun
|
||||
racer-collision-reaction
|
||||
((arg0 control-info)
|
||||
(arg1 collide-shape-intersect)
|
||||
(arg2 vector)
|
||||
(arg3 vector)
|
||||
)
|
||||
(local-vars
|
||||
(sv-80 vector)
|
||||
(sv-84 vector)
|
||||
(sv-88 (inline-array vector))
|
||||
(sv-96 int)
|
||||
(sv-104 int)
|
||||
)
|
||||
(set! sv-80 (new-stack-vector0))
|
||||
(set! sv-84 (new-stack-vector0))
|
||||
(let ((v1-2 (new 'stack-no-clear 'inline-array 'vector 2)))
|
||||
(dotimes (a0-1 2)
|
||||
(set! (-> v1-2 a0-1 quad) (the-as uint128 0))
|
||||
)
|
||||
(set! sv-88 v1-2)
|
||||
)
|
||||
(set! sv-96 0)
|
||||
(set! sv-104 0)
|
||||
(set! (-> sv-88 0 quad) (-> arg3 quad))
|
||||
(set! (-> sv-88 1 quad) (-> arg3 quad))
|
||||
(let ((a1-3 (new 'stack-no-clear 'vector)))
|
||||
(vector-float*! a1-3 (-> arg1 move-vec) (-> arg1 best-u))
|
||||
(TODO-RENAME-28 arg0 a1-3)
|
||||
)
|
||||
(dummy-56 arg0 (-> arg1 best-tri pat))
|
||||
(if (= (-> arg0 poly-pat mode) (pat-mode wall))
|
||||
(set! sv-104 (logior sv-104 1))
|
||||
)
|
||||
(if (= (-> arg0 unknown-surface00 mode) 'air)
|
||||
(set! sv-104 (logior sv-104 32))
|
||||
)
|
||||
(let ((v1-21 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> v1-21 quad) (-> arg1 best-from-prim prim-core world-sphere quad))
|
||||
(vector-! sv-80 v1-21 (-> arg1 best-tri intersect))
|
||||
)
|
||||
(vector-normalize! sv-80 1.0)
|
||||
(set! (-> arg0 coverage) (vector-dot sv-80 (-> arg1 best-tri normal)))
|
||||
(when (< (-> arg0 coverage) 0.0)
|
||||
(set! (-> arg0 coverage) 0.0)
|
||||
(vector-flatten! sv-80 sv-80 (-> arg1 best-tri normal))
|
||||
(vector-normalize! sv-80 1.0)
|
||||
)
|
||||
(if (< (-> arg0 coverage) 0.9999)
|
||||
(set! sv-104 (logior sv-104 24))
|
||||
)
|
||||
(let ((v1-31 (-> sv-80 quad)))
|
||||
(set! (-> sv-84 quad) v1-31)
|
||||
)
|
||||
(if (= (-> arg1 best-u) 0.0)
|
||||
(TODO-RENAME-28 arg0 (vector-normalize-copy! (new-stack-vector0) sv-84 3.0))
|
||||
)
|
||||
(set! (-> arg0 poly-normal quad) (-> arg1 best-tri normal quad))
|
||||
(collide-shape-moving-angle-set! arg0 sv-84 (-> sv-88 0))
|
||||
(if (< (-> arg0 poly-angle) -0.2)
|
||||
(set! sv-96 (logior sv-96 16))
|
||||
)
|
||||
(let
|
||||
((s3-1
|
||||
(<
|
||||
(fabs (-> arg0 surface-angle))
|
||||
(-> *pat-mode-info* (-> arg0 cur-pat mode) wall-angle)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if s3-1
|
||||
(set! sv-104 (logior sv-104 2))
|
||||
)
|
||||
(when (zero? (logand (-> arg0 prev-status) 1))
|
||||
(set!
|
||||
(-> arg0 ground-impact-vel)
|
||||
(- (vector-dot (-> arg0 transv) (-> arg0 dynam gravity-normal)))
|
||||
)
|
||||
(set! sv-96 (logior sv-96 2048))
|
||||
(when (not s3-1)
|
||||
(let ((f30-0 (- 1.0 (-> arg0 surf impact-fric))))
|
||||
(when (< f30-0 1.0)
|
||||
(let ((s2-1 (new-stack-vector0))
|
||||
(f28-0 (vector-dot (-> arg0 dynam gravity-normal) (-> sv-88 0)))
|
||||
)
|
||||
0.0
|
||||
(vector-!
|
||||
s2-1
|
||||
(-> sv-88 0)
|
||||
(vector-float*! s2-1 (-> arg0 dynam gravity-normal) f28-0)
|
||||
)
|
||||
(let* ((f0-18 (vector-length s2-1))
|
||||
(f1-6 f0-18)
|
||||
)
|
||||
(if (< f28-0 0.0)
|
||||
(set! f28-0 (* f28-0 f30-0))
|
||||
)
|
||||
(vector+!
|
||||
(-> sv-88 0)
|
||||
(vector-float*! (-> sv-88 0) (-> arg0 dynam gravity-normal) f28-0)
|
||||
(vector-float*! s2-1 s2-1 (/ f0-18 f1-6))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! sv-96 (logior sv-96 4))
|
||||
(cond
|
||||
((-> arg1 best-to-prim)
|
||||
(set! sv-96 (logior sv-96 32))
|
||||
(set! (-> arg0 unknown-vector72 quad) (-> arg1 best-tri intersect quad))
|
||||
(set! (-> arg0 unknown-vector73 quad) (-> arg0 poly-normal quad))
|
||||
(set!
|
||||
(-> arg0 unknown-handle00)
|
||||
(process->handle (-> arg1 best-to-prim cshape process))
|
||||
)
|
||||
)
|
||||
((= (-> arg0 poly-pat material) (pat-material waterbottom))
|
||||
)
|
||||
(else
|
||||
(set! sv-96 (logior sv-96 4096))
|
||||
)
|
||||
)
|
||||
(if (and s3-1 (logtest? #x10000 (-> arg0 root-prim prim-core action)))
|
||||
(set! s3-1 #f)
|
||||
)
|
||||
(cond
|
||||
(s3-1
|
||||
(set! sv-104 (logior sv-104 4))
|
||||
(set! sv-96 (logior sv-96 8))
|
||||
(set! (-> arg0 cur-pat mode) 1)
|
||||
(set! (-> arg0 unknown-vector70 quad) (-> arg1 best-tri intersect quad))
|
||||
(set! (-> arg0 unknown-vector71 quad) (-> arg0 poly-normal quad))
|
||||
(set! (-> arg0 unknown-int60) (the-as uint (-> arg1 best-tri pat)))
|
||||
(vector-reflect-flat-above! arg2 (-> sv-88 0) sv-84)
|
||||
(cond
|
||||
((not
|
||||
(and
|
||||
(>=
|
||||
(-> arg1 best-from-prim local-sphere w)
|
||||
(vector-dot
|
||||
(-> arg0 ground-poly-normal)
|
||||
(vector-!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(-> arg1 best-tri intersect)
|
||||
(-> arg0 ground-touch-point)
|
||||
)
|
||||
)
|
||||
)
|
||||
(and
|
||||
(< 0.0 (vector-dot (-> arg0 ground-poly-normal) arg2))
|
||||
(< (- (-> *display* base-frame-counter) (-> arg0 unknown-dword10)) 90)
|
||||
(zero? (logand sv-104 32))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! sv-104 (logior sv-104 256))
|
||||
(set! sv-104 (logand -65 sv-104))
|
||||
(let
|
||||
((s3-3
|
||||
(vector-cross!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(-> arg0 poly-normal)
|
||||
(-> arg0 ground-poly-normal)
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector-normalize! s3-3 1.0)
|
||||
(vector-float*! arg2 s3-3 (vector-dot (-> sv-88 0) s3-3))
|
||||
)
|
||||
(vector+! arg2 arg2 (-> arg0 poly-normal))
|
||||
)
|
||||
)
|
||||
(let*
|
||||
((s2-2
|
||||
(vector-normalize-copy! (new 'stack-no-clear 'vector) (-> sv-88 0) 1.0)
|
||||
)
|
||||
(s3-4 (new-stack-vector0))
|
||||
(f30-1 (vector-dot s2-2 arg2))
|
||||
)
|
||||
0.0
|
||||
(vector-! s3-4 arg2 (vector-float*! s3-4 s2-2 f30-1))
|
||||
(let* ((f1-11 (vector-length s3-4))
|
||||
(f0-27 f1-11)
|
||||
(f1-12 (* 0.9 f1-11))
|
||||
)
|
||||
(vector+!
|
||||
arg2
|
||||
(vector-float*! arg2 s2-2 f30-1)
|
||||
(vector-float*! s3-4 s3-4 (/ f1-12 f0-27))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! sv-96 (logior sv-96 1))
|
||||
(set! (-> arg0 cur-pat mode) 0)
|
||||
(if (and (= (-> arg1 best-from-prim prim-id) 6) (zero? (logand sv-104 7)))
|
||||
(set! (-> arg0 local-normal quad) (-> sv-84 quad))
|
||||
)
|
||||
(vector-reflect-flat! arg2 (-> sv-88 0) sv-84)
|
||||
(dotimes (v1-142 16)
|
||||
(vector+! arg2 arg2 (-> arg0 poly-normal))
|
||||
)
|
||||
(set! sv-96 (logior sv-96 2))
|
||||
(set! (-> arg0 ground-touch-point w) 0.0)
|
||||
(when (zero? (logand sv-104 15))
|
||||
(set! sv-96 (logior sv-96 2))
|
||||
(set! (-> arg0 ground-poly-normal quad) (-> arg0 poly-normal quad))
|
||||
(set! (-> arg0 unknown-vector53 quad) (-> sv-84 quad))
|
||||
(set!
|
||||
(-> arg0 unknown-float60)
|
||||
(vector-dot sv-84 (-> arg0 dynam gravity-normal))
|
||||
)
|
||||
(set! (-> arg0 unknown-dword10) (-> *display* base-frame-counter))
|
||||
(set! (-> arg0 ground-pat) (-> arg0 poly-pat))
|
||||
(set! (-> arg0 ground-touch-point quad) (-> arg1 best-tri intersect quad))
|
||||
(set! sv-104 (logior sv-104 2048))
|
||||
(if (= (-> arg0 poly-pat material) (pat-material waterbottom))
|
||||
(set! sv-96 (logior sv-96 1024))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(logior! (-> arg0 status) sv-96)
|
||||
(set! (-> arg0 reaction-flag) (the-as uint sv-104))
|
||||
(update!
|
||||
(-> arg0 history-data (-> arg0 unknown-halfword00))
|
||||
arg0
|
||||
(-> arg1 best-tri intersect)
|
||||
(-> sv-88 1)
|
||||
arg2
|
||||
)
|
||||
(set!
|
||||
(-> arg0 unknown-halfword00)
|
||||
(logand (+ (-> arg0 unknown-halfword00) 1) 127)
|
||||
)
|
||||
sv-96
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -70,10 +70,10 @@
|
||||
)
|
||||
(target-attacked
|
||||
arg2
|
||||
(-> arg3 param 1)
|
||||
(the-as uint arg0)
|
||||
(the-as attack-info (-> arg3 param 1))
|
||||
arg0
|
||||
(the-as process (-> arg3 param 0))
|
||||
(the-as (state target) target-racing-hit)
|
||||
target-racing-hit
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1571,10 +1571,7 @@
|
||||
|
||||
(defstate target-racing-hit (target)
|
||||
:event
|
||||
(the-as
|
||||
(function process int symbol event-message-block object :behavior target)
|
||||
target-generic-event-handler
|
||||
)
|
||||
target-generic-event-handler
|
||||
:enter
|
||||
(behavior ((arg0 handle) (arg1 attack-info))
|
||||
(let ((v1-0 (-> self attack-info)))
|
||||
@@ -2215,10 +2212,7 @@
|
||||
|
||||
(defstate target-racing-get-on (target)
|
||||
:event
|
||||
(the-as
|
||||
(function process int symbol event-message-block object :behavior target)
|
||||
target-generic-event-handler
|
||||
)
|
||||
target-generic-event-handler
|
||||
:exit
|
||||
(-> target-racing-start exit)
|
||||
:code
|
||||
@@ -2243,8 +2237,8 @@
|
||||
(-> self control unknown-quaternion00)
|
||||
)
|
||||
(set!
|
||||
(-> self control unknown-float120)
|
||||
(-> self control unknown-vector11 y)
|
||||
(-> self control unknown-uint20)
|
||||
(the-as uint (-> self control unknown-vector11 y))
|
||||
)
|
||||
(let* ((s3-0 (handle->process arg0))
|
||||
(s4-1
|
||||
@@ -2267,7 +2261,7 @@
|
||||
)
|
||||
(set! (-> self racer bike-scale quad) (-> s4-1 root-override scale quad))
|
||||
(set!
|
||||
(-> self control unknown-int20)
|
||||
(-> self control unknown-int21)
|
||||
(the-as int (-> self racer bike-trans y))
|
||||
)
|
||||
)
|
||||
@@ -2532,7 +2526,7 @@
|
||||
(set!
|
||||
(-> self control unknown-vector11 y)
|
||||
(lerp
|
||||
(-> self control unknown-float120)
|
||||
(the-as float (-> self control unknown-uint20))
|
||||
(-> self racer cushion-base)
|
||||
f30-1
|
||||
)
|
||||
@@ -2540,8 +2534,8 @@
|
||||
(set!
|
||||
(-> self racer bike-trans y)
|
||||
(lerp
|
||||
(-> self control unknown-float121)
|
||||
(+ 4096.0 (-> self control unknown-float121))
|
||||
(the-as float (-> self control unknown-uint30))
|
||||
(+ 4096.0 (the-as float (-> self control unknown-uint30)))
|
||||
f30-1
|
||||
)
|
||||
)
|
||||
@@ -2554,10 +2548,7 @@
|
||||
|
||||
(defstate target-racing-get-off (target)
|
||||
:event
|
||||
(the-as
|
||||
(function process int symbol event-message-block object :behavior target)
|
||||
target-generic-event-handler
|
||||
)
|
||||
target-generic-event-handler
|
||||
:exit
|
||||
(-> target-racing-start exit)
|
||||
:code
|
||||
@@ -2653,10 +2644,7 @@
|
||||
|
||||
(defstate target-racing-get-off-jump (target)
|
||||
:event
|
||||
(the-as
|
||||
(function process int symbol event-message-block object :behavior target)
|
||||
target-generic-event-handler
|
||||
)
|
||||
target-generic-event-handler
|
||||
:exit
|
||||
(-> target-racing-start exit)
|
||||
:code
|
||||
@@ -2685,8 +2673,8 @@
|
||||
(-> self control unknown-quaternion00)
|
||||
)
|
||||
(set!
|
||||
(-> self control unknown-float120)
|
||||
(-> self control unknown-vector11 y)
|
||||
(-> self control unknown-uint20)
|
||||
(the-as uint (-> self control unknown-vector11 y))
|
||||
)
|
||||
(let* ((s2-0 (handle->process arg0))
|
||||
(s3-0
|
||||
@@ -2713,7 +2701,7 @@
|
||||
)
|
||||
(set! (-> self racer bike-scale quad) (-> s3-0 root-override scale quad))
|
||||
(set!
|
||||
(-> self control unknown-int20)
|
||||
(-> self control unknown-int21)
|
||||
(the-as int (-> self racer bike-trans y))
|
||||
)
|
||||
)
|
||||
@@ -2921,7 +2909,11 @@
|
||||
)
|
||||
(set!
|
||||
(-> self control unknown-vector11 y)
|
||||
(lerp (-> self control unknown-float120) 6144.0 (fmin 1.0 (* 2.0 f30-0)))
|
||||
(lerp
|
||||
(the-as float (-> self control unknown-uint20))
|
||||
6144.0
|
||||
(fmin 1.0 (* 2.0 f30-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector+!
|
||||
@@ -2942,10 +2934,7 @@
|
||||
|
||||
(defstate target-racing-get-off-hit-ground (target)
|
||||
:event
|
||||
(the-as
|
||||
(function process int symbol event-message-block object :behavior target)
|
||||
target-standard-event-handler
|
||||
)
|
||||
target-standard-event-handler
|
||||
:enter
|
||||
(-> target-hit-ground enter)
|
||||
:trans
|
||||
@@ -3121,7 +3110,7 @@
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore))
|
||||
(set! (-> self control unknown-float120) (the-as float #f))
|
||||
(set! (-> self control unknown-uint20) (the-as uint #f))
|
||||
)
|
||||
((-> target-racing-grab event) arg0 arg1 arg2 arg3)
|
||||
)
|
||||
@@ -3131,7 +3120,7 @@
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self control unknown-vector11 y)
|
||||
(-> self control unknown-float120)
|
||||
(the-as float (-> self control unknown-uint20))
|
||||
)
|
||||
(set!
|
||||
(-> self control unknown-vector12 y)
|
||||
@@ -3146,8 +3135,8 @@
|
||||
:code
|
||||
(behavior ((arg0 handle))
|
||||
(set!
|
||||
(-> self control unknown-float120)
|
||||
(-> self control unknown-vector11 y)
|
||||
(-> self control unknown-uint20)
|
||||
(the-as uint (-> self control unknown-vector11 y))
|
||||
)
|
||||
(set! (-> self control unknown-vector11 y) 0.0)
|
||||
(send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim)
|
||||
|
||||
@@ -5,5 +5,4 @@
|
||||
;; name in dgo: target-racer
|
||||
;; dgos: FIC, LAV, MIS, OGR, ROL
|
||||
|
||||
(define-extern racer-collision-reaction function)
|
||||
(define-extern *racer-mods* surface)
|
||||
(define-extern *racer-mods* surface)
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
target-jump
|
||||
(-> *TARGET-bank* duck-jump-height-min)
|
||||
(-> *TARGET-bank* duck-jump-height-max)
|
||||
#f
|
||||
(the-as surface #f)
|
||||
)
|
||||
)
|
||||
(else
|
||||
|
||||
@@ -828,15 +828,12 @@ swamp-bat-slave-event-handler
|
||||
(deactivate self)
|
||||
)
|
||||
(swamp-bat-update-path)
|
||||
(let ((s5-0 (method-of-object (-> self vol) dummy-10)))
|
||||
(target-pos 5)
|
||||
(if
|
||||
(or
|
||||
(s5-0)
|
||||
(not (swamp-bat-check-slave-paths-match? (-> self path-select)))
|
||||
)
|
||||
(go swamp-bat-launch-slaves)
|
||||
(if
|
||||
(or
|
||||
(dummy-10 (-> self vol) (target-pos 5))
|
||||
(not (swamp-bat-check-slave-paths-match? (-> self path-select)))
|
||||
)
|
||||
(go swamp-bat-launch-slaves)
|
||||
)
|
||||
)
|
||||
(let ((gp-1 (new 'static 'matrix)))
|
||||
|
||||
@@ -733,7 +733,7 @@ Val* Compiler::compile_deref(const goos::Object& form, const goos::Object& _rest
|
||||
|
||||
// special case (-> <state> enter) should return the appropriate function type.
|
||||
if (in_type.arg_count() > 0 && in_type.base_type() == "state") {
|
||||
if (field_name == "enter") {
|
||||
if (field_name == "enter" || field_name == "code") {
|
||||
result->set_type(state_to_go_function(in_type, TypeSpec("none")));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
import re
|
||||
from jak1_file_list import file_list
|
||||
import argparse
|
||||
import os
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--files")
|
||||
args = parser.parse_args()
|
||||
|
||||
files = args.files.split(",")
|
||||
|
||||
throw_error = False
|
||||
|
||||
method_split_pattern = re.compile('t9-\d+\s\(method-of-object')
|
||||
missing_res_tag_pattern = re.compile('(sv-\d{2,} int)')
|
||||
decompiler_error_pattern = re.compile(';; ERROR')
|
||||
|
||||
for file in files:
|
||||
src_path = ""
|
||||
for f in file_list:
|
||||
if f[2] != 3:
|
||||
continue
|
||||
if f[0] == file:
|
||||
src_path = f[4]
|
||||
break
|
||||
|
||||
if not os.path.exists("./goal_src/{}".format(src_path)):
|
||||
print("{} couldn't find in /goal_src!".format(file))
|
||||
throw_error = True
|
||||
continue
|
||||
|
||||
file_path = "./goal_src/{}/{}.gc".format(src_path, file)
|
||||
with open(file_path) as f:
|
||||
for lineno, line in enumerate(f):
|
||||
method_split_match = method_split_pattern.search(line)
|
||||
if method_split_match:
|
||||
print("method_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))
|
||||
throw_error = True
|
||||
continue
|
||||
decompiler_error_match = decompiler_error_pattern.search(line)
|
||||
if decompiler_error_match:
|
||||
print("decompiler_error - {}:{}".format(file_path, lineno + 1))
|
||||
throw_error = True
|
||||
continue
|
||||
|
||||
if throw_error:
|
||||
print("found potential problems!")
|
||||
exit(1)
|
||||
else:
|
||||
print("looks good!")
|
||||
@@ -27,6 +27,7 @@ files_with_modifications = [
|
||||
"sunken-obs",
|
||||
"cam-master",
|
||||
"generic-obs",
|
||||
"target-snowball",
|
||||
"default-menu"
|
||||
]
|
||||
|
||||
|
||||
+1
-1
@@ -69,7 +69,7 @@
|
||||
:flag-assert #xb000000c0
|
||||
(:methods
|
||||
(new (symbol type int) _type_ 0)
|
||||
(dummy-9 (_type_) none 9)
|
||||
(dummy-9 (_type_) float 9)
|
||||
(dummy-10 (_type_ symbol) int 10)
|
||||
)
|
||||
)
|
||||
|
||||
+37
-16
@@ -79,7 +79,8 @@
|
||||
(unknown-qword00 uint128 :offset 1136)
|
||||
(unknown-float30 float :offset 1140)
|
||||
(unknown-vector40 vector :inline :offset 1152)
|
||||
(unknown-float40 float :offset 1176)
|
||||
(unknown-float40 float :offset 1172)
|
||||
(unknown-float41 float :offset 1176)
|
||||
(unknown-int00 int32 :offset 1180)
|
||||
(unknown-float50 float :offset 1168)
|
||||
(unknown-vector50 vector :inline :offset 1184)
|
||||
@@ -103,16 +104,21 @@
|
||||
(unknown-float71 float :offset 1524)
|
||||
(unknown-vector70 vector :inline :offset 1536)
|
||||
(unknown-vector71 vector :inline :offset 1552)
|
||||
(unknown-vector72 vector :inline :offset 1584)
|
||||
(unknown-vector72 vector :inline :offset 1568)
|
||||
(unknown-vector73 vector :inline :offset 1584)
|
||||
(unknown-handle00 handle :offset 1600)
|
||||
(unknown-sphere-array00 collide-shape-prim-sphere 3 :offset 1608)
|
||||
(unknown-sphere00 collide-shape-prim-sphere :offset 1632)
|
||||
(unknown-sphere01 collide-shape-prim-sphere :offset 1636)
|
||||
(unknown-sphere02 collide-shape-prim-sphere :offset 1640)
|
||||
(unknown-dword30 int64 :offset 1672)
|
||||
(unknown-dword31 int64 :offset 1680)
|
||||
(unknown-dword32 int64 :offset 1688)
|
||||
(unknown-dword33 int64 :offset 1696)
|
||||
(unknown-int50 int32 :offset 1656)
|
||||
(unknown-dword30 int64 :offset 1664)
|
||||
(unknown-dword31 int64 :offset 1672)
|
||||
(unknown-dword32 int64 :offset 1680)
|
||||
(unknown-dword33 int64 :offset 1688)
|
||||
(unknown-dword34 int64 :offset 1696)
|
||||
(unknown-dword35 int64 :offset 1704)
|
||||
(unknown-dword36 int64 :offset 1712)
|
||||
(unknown-float80 float :offset 1724)
|
||||
(unknown-float81 float :offset 1728)
|
||||
(unknown-float82 float :offset 1732)
|
||||
@@ -134,11 +140,18 @@
|
||||
(unknown-dword40 int64 :offset 2160)
|
||||
(unknown-dword41 int64 :offset 2168)
|
||||
(unknown-handle10 handle :offset 2176)
|
||||
(unknown-float120 float :offset 2184)
|
||||
(unknown-uint20 uint32 :offset 2184)
|
||||
(unknown-spoolanim00 spool-anim :offset 2184)
|
||||
(unknown-int20 int32 :offset 2184)
|
||||
(unknown-symbol20 symbol :offset 2184)
|
||||
(unknown-int20 int32 :offset 2188)
|
||||
(unknown-float120 float :offset 2184)
|
||||
(unknown-int21 int32 :offset 2188)
|
||||
(unknown-uint30 uint32 :offset 2188)
|
||||
(unknown-float121 float :offset 2188)
|
||||
(unknown-uint31 uint32 :offset 2192)
|
||||
(unknown-float122 float :offset 2196)
|
||||
(unknown-float123 float :offset 2200)
|
||||
(unknown-float124 float :offset 2204)
|
||||
(unknown-vector102 vector :inline :offset 2224)
|
||||
(unknown-vector103 vector :inline :offset 2240)
|
||||
(unknown-quaternion02 quaternion :inline :offset 2256)
|
||||
@@ -147,27 +160,35 @@
|
||||
(unknown-vector110 vector :inline :offset 2320)
|
||||
(unknown-vector111 vector :inline :offset 2336)
|
||||
(unknown-symbol30 symbol :offset 2384)
|
||||
(unknown-int31 uint32 :offset 2384)
|
||||
(unknown-dword50 int64 :offset 2392)
|
||||
(unknown-dword51 int64 :offset 2400)
|
||||
(unknown-pointer00 pointer :offset 2416)
|
||||
(unknown-symbol40 symbol :offset 2428)
|
||||
(unknown-dword60 int64 :offset 2432)
|
||||
(unknown-dword61 int64 :offset 2440)
|
||||
(unknown-dword62 int64 :offset 2448)
|
||||
(unknown-dword63 int64 :offset 2456)
|
||||
(unknown-halfword00 int16 :offset 2488)
|
||||
(history-length int16 :offset 2490)
|
||||
(history-data collide-history 128 :inline :offset-assert 2496)
|
||||
(unknown-float140 float :offset 18944)
|
||||
(unknown-dword60 int64 :offset 18952)
|
||||
(unknown-dword70 int64 :offset 18952)
|
||||
(unknown-int40 int32 :offset 18880)
|
||||
(unknown-dword70 int64 :offset 18888)
|
||||
(unknown-dword71 int64 :offset 18896)
|
||||
(unknown-dword72 int64 :offset 18912)
|
||||
(unknown-vector120 vector :offset 18928)
|
||||
(unknown-int50 uint32 :offset 18976)
|
||||
(unknown-dword80 int64 :offset 18888)
|
||||
(unknown-dword81 int64 :offset 18896)
|
||||
(unknown-float130 float :offset 18904)
|
||||
(unknown-float131 float :offset 18908)
|
||||
(unknown-dword82 int64 :offset 18912)
|
||||
(unknown-vector120 vector :inline :offset 18928)
|
||||
(unknown-float150 float :offset 18944)
|
||||
(unknown-int60 uint32 :offset 18976)
|
||||
(unknown-soundid00 sound-id :offset 18980)
|
||||
(unknown-float130 float :offset 18984)
|
||||
(unknown-float141 float :offset 18984)
|
||||
)
|
||||
:method-count-assert 65
|
||||
:size-assert #x4a2c
|
||||
:flag-assert #x4100004a2c
|
||||
:no-inspect
|
||||
)
|
||||
|
||||
;; definition for method 9 of type collide-history
|
||||
|
||||
-2
@@ -1205,7 +1205,6 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type joint-control
|
||||
;; INFO: Return type mismatch float vs none.
|
||||
(defmethod dummy-9 joint-control ((obj joint-control))
|
||||
(cond
|
||||
((<
|
||||
@@ -1245,7 +1244,6 @@
|
||||
0.0
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function anim-loop
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@
|
||||
(:methods
|
||||
(new (symbol type process-drawable) _type_ 0)
|
||||
(dummy-9 (_type_) none 9)
|
||||
(dummy-10 () none 10)
|
||||
(dummy-10 (_type_ vector) none 10)
|
||||
(TODO-RENAME-11 (_type_) symbol 11)
|
||||
)
|
||||
)
|
||||
|
||||
+46
-46
@@ -3,54 +3,54 @@
|
||||
|
||||
;; definition of type water-control
|
||||
(deftype water-control (basic)
|
||||
((flags uint32 :offset-assert 4)
|
||||
(process process :offset-assert 8)
|
||||
(joint-index int32 :offset-assert 12)
|
||||
(top-y-offset float :offset-assert 16)
|
||||
(ripple-size meters :offset-assert 20)
|
||||
(enter-water-time uint64 :offset-assert 24)
|
||||
(wade-time uint64 :offset-assert 32)
|
||||
(on-water-time uint64 :offset-assert 40)
|
||||
(enter-swim-time uint64 :offset-assert 48)
|
||||
(swim-time uint64 :offset-assert 56)
|
||||
(base-height meters :offset-assert 64)
|
||||
(wade-height meters :offset-assert 68)
|
||||
(swim-height meters :offset-assert 72)
|
||||
(surface-height meters :offset-assert 76)
|
||||
(bottom-height meters :offset-assert 80)
|
||||
(height meters :offset-assert 84)
|
||||
(height-offset float 4 :offset-assert 88)
|
||||
(real-ocean-offset meters :offset 88)
|
||||
(ocean-offset meters :offset 92)
|
||||
(bob-offset meters :offset 96)
|
||||
(align-offset meters :offset 100)
|
||||
(swim-depth meters :offset-assert 104)
|
||||
(bob smush-control :inline :offset-assert 112)
|
||||
(volume handle :offset-assert 144)
|
||||
(bottom vector 2 :inline :offset-assert 160)
|
||||
(top vector 2 :inline :offset-assert 192)
|
||||
(enter-water-pos vector :inline :offset-assert 224)
|
||||
(drip-old-pos vector :inline :offset-assert 240)
|
||||
(drip-joint-index int32 :offset-assert 256)
|
||||
(drip-wetness float :offset-assert 260)
|
||||
(drip-time uint64 :offset-assert 264)
|
||||
(drip-speed float :offset-assert 272)
|
||||
(drip-height meters :offset-assert 276)
|
||||
(drip-mult float :offset-assert 280)
|
||||
((flags uint32 :offset-assert 4)
|
||||
(process process-drawable :offset-assert 8)
|
||||
(joint-index int32 :offset-assert 12)
|
||||
(top-y-offset float :offset-assert 16)
|
||||
(ripple-size meters :offset-assert 20)
|
||||
(enter-water-time uint64 :offset-assert 24)
|
||||
(wade-time uint64 :offset-assert 32)
|
||||
(on-water-time uint64 :offset-assert 40)
|
||||
(enter-swim-time uint64 :offset-assert 48)
|
||||
(swim-time uint64 :offset-assert 56)
|
||||
(base-height meters :offset-assert 64)
|
||||
(wade-height meters :offset-assert 68)
|
||||
(swim-height meters :offset-assert 72)
|
||||
(surface-height meters :offset-assert 76)
|
||||
(bottom-height meters :offset-assert 80)
|
||||
(height meters :offset-assert 84)
|
||||
(height-offset float 4 :offset-assert 88)
|
||||
(real-ocean-offset meters :offset 88)
|
||||
(ocean-offset meters :offset 92)
|
||||
(bob-offset meters :offset 96)
|
||||
(align-offset meters :offset 100)
|
||||
(swim-depth meters :offset-assert 104)
|
||||
(bob smush-control :inline :offset-assert 112)
|
||||
(volume handle :offset-assert 144)
|
||||
(bottom vector 2 :inline :offset-assert 160)
|
||||
(top vector 2 :inline :offset-assert 192)
|
||||
(enter-water-pos vector :inline :offset-assert 224)
|
||||
(drip-old-pos vector :inline :offset-assert 240)
|
||||
(drip-joint-index int32 :offset-assert 256)
|
||||
(drip-wetness float :offset-assert 260)
|
||||
(drip-time uint64 :offset-assert 264)
|
||||
(drip-speed float :offset-assert 272)
|
||||
(drip-height meters :offset-assert 276)
|
||||
(drip-mult float :offset-assert 280)
|
||||
)
|
||||
:method-count-assert 17
|
||||
:size-assert #x11c
|
||||
:flag-assert #x110000011c
|
||||
(:methods
|
||||
(new (symbol type process int float float float) _type_ 0)
|
||||
(dummy-9 () none 9)
|
||||
(dummy-9 (_type_) none 9)
|
||||
(dummy-10 (_type_) none 10)
|
||||
(dummy-11 () none 11)
|
||||
(start-bobbing! (_type_ float int int) none 11)
|
||||
(distance-from-surface (_type_) float 12)
|
||||
(dummy-13 (_type_ float vector int vector) none 13)
|
||||
(display-water-marks? (_type_) symbol 14)
|
||||
(dummy-15 () none 15)
|
||||
(dummy-16 () none 16)
|
||||
(TODO-RENAME-15 (_type_) none 15)
|
||||
(TODO-RENAME-16 (_type_) none 16)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
(object-new allocation type-to-make (the-as int (-> type-to-make size)))
|
||||
)
|
||||
)
|
||||
(set! (-> v0-0 process) arg0)
|
||||
(set! (-> v0-0 process) (the-as process-drawable arg0))
|
||||
(set! (-> v0-0 joint-index) arg1)
|
||||
(set! (-> v0-0 wade-height) arg4)
|
||||
(set! (-> v0-0 swim-height) arg3)
|
||||
@@ -140,8 +140,8 @@
|
||||
(wade-height meters :offset-assert 180)
|
||||
(swim-height meters :offset-assert 184)
|
||||
(bottom-height meters :offset-assert 188)
|
||||
(attack-event basic :offset-assert 192)
|
||||
(target uint64 :offset-assert 200)
|
||||
(attack-event symbol :offset-assert 192)
|
||||
(target handle :offset-assert 200)
|
||||
(flags uint32 :offset-assert 208)
|
||||
)
|
||||
:heap-base #x70
|
||||
@@ -152,13 +152,13 @@
|
||||
(water-vol-idle () _type_ :state 20)
|
||||
(water-vol-startup () _type_ :state 21)
|
||||
(TODO-RENAME-22 (_type_) ripple-wave-set 22)
|
||||
(dummy-23 () none 23)
|
||||
(dummy-24 () none 24)
|
||||
(reset-root! (_type_) none 23)
|
||||
(set-stack-size! (_type_) none 24)
|
||||
(TODO-RENAME-25 (_type_) object 25)
|
||||
(dummy-26 () none 26)
|
||||
(dummy-27 () none 27)
|
||||
(TODO-RENAME-26 (_type_) none 26)
|
||||
(dummy-27 (_type_) none 27)
|
||||
(get-ripple-height (_type_ vector) float 28)
|
||||
(dummy-29 () none 29)
|
||||
(TODO-RENAME-29 (_type_) uint 29)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
+2383
File diff suppressed because it is too large
Load Diff
+20
-20
@@ -371,20 +371,20 @@
|
||||
(let ((s4-2 format)
|
||||
(s3-2 arg1)
|
||||
(s2-2 "~0kwall:~6X mode:~-8S material:~-10S event:~S~%")
|
||||
(s1-2 (-> arg0 control unknown-int50))
|
||||
(s1-2 (-> arg0 control unknown-int60))
|
||||
(s0-2
|
||||
(pat-mode->string
|
||||
(the-as pat-surface (-> arg0 control unknown-int50))
|
||||
(the-as pat-surface (-> arg0 control unknown-int60))
|
||||
)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
sv-96
|
||||
(pat-material->string (the-as pat-surface (-> arg0 control unknown-int50)))
|
||||
(pat-material->string (the-as pat-surface (-> arg0 control unknown-int60)))
|
||||
)
|
||||
(let
|
||||
((t1-2
|
||||
(pat-event->string (the-as pat-surface (-> arg0 control unknown-int50)))
|
||||
(pat-event->string (the-as pat-surface (-> arg0 control unknown-int60)))
|
||||
)
|
||||
)
|
||||
(s4-2 s3-2 s2-2 s1-2 s0-2 sv-96 t1-2)
|
||||
@@ -1071,13 +1071,13 @@
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self control unknown-dword60)
|
||||
(-> self control unknown-dword70)
|
||||
(-> *display* base-frame-counter)
|
||||
)
|
||||
)
|
||||
(if
|
||||
(<
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword60))
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword70))
|
||||
60
|
||||
)
|
||||
(set! f30-4 (+ 204800.0 f30-4))
|
||||
@@ -1258,7 +1258,7 @@
|
||||
150
|
||||
)
|
||||
(logtest? (-> self control unknown-surface01 flags) 16)
|
||||
(!= (-> self control unknown-float40) 0.0)
|
||||
(!= (-> self control unknown-float41) 0.0)
|
||||
)
|
||||
(zero? (logand (-> self control unknown-surface01 flags) 32))
|
||||
)
|
||||
@@ -1653,7 +1653,7 @@
|
||||
(if
|
||||
(<
|
||||
(logand
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword70))
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword80))
|
||||
3
|
||||
)
|
||||
1
|
||||
@@ -1663,8 +1663,8 @@
|
||||
)
|
||||
(if
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword70))
|
||||
(-> self control unknown-dword71)
|
||||
(- (-> *display* base-frame-counter) (-> self control unknown-dword80))
|
||||
(-> self control unknown-dword81)
|
||||
)
|
||||
(target-timed-invulnerable-off self)
|
||||
)
|
||||
@@ -2025,12 +2025,12 @@
|
||||
(cond
|
||||
((and
|
||||
(< 2457.6 (vector-length s4-2))
|
||||
(not (-> self control unknown-int20))
|
||||
(not (-> self control unknown-int21))
|
||||
)
|
||||
(TODO-RENAME-28 (-> self control) (vector-normalize! s4-2 2457.6))
|
||||
)
|
||||
(else
|
||||
(set! (-> self control unknown-int20) (the-as int #t))
|
||||
(set! (-> self control unknown-int21) (the-as int #t))
|
||||
(TODO-RENAME-30
|
||||
(-> self control)
|
||||
(vector-!
|
||||
@@ -2267,7 +2267,7 @@
|
||||
(target-calc-camera-pos)
|
||||
(when (logtest? (-> self state-flags) #x4000)
|
||||
(set! (-> self state-flags) (logand -28673 (-> self state-flags)))
|
||||
(set! (-> self control unknown-float40) 0.0)
|
||||
(set! (-> self control unknown-float41) 0.0)
|
||||
)
|
||||
(set! (-> self control unknown-int00) 0)
|
||||
0
|
||||
@@ -2282,9 +2282,9 @@
|
||||
(countdown (s5-0 gp-0)
|
||||
(set! (-> self control unknown-int40) s5-0)
|
||||
(flag-setup)
|
||||
(if (< (-> self control unknown-float40) 0.0)
|
||||
(if (< (-> self control unknown-float41) 0.0)
|
||||
(set!
|
||||
(-> self control unknown-float40)
|
||||
(-> self control unknown-float41)
|
||||
(- 1.0 (-> self control unknown-cpad-info00 stick0-speed))
|
||||
)
|
||||
)
|
||||
@@ -2308,9 +2308,9 @@
|
||||
)
|
||||
(set! f30-0 0.0)
|
||||
)
|
||||
(when (!= (-> self control unknown-float40) 0.0)
|
||||
(let ((f0-12 (fmin 1.0 (-> self control unknown-float40))))
|
||||
(set! (-> self control unknown-float40) f0-12)
|
||||
(when (!= (-> self control unknown-float41) 0.0)
|
||||
(let ((f0-12 (fmin 1.0 (-> self control unknown-float41))))
|
||||
(set! (-> self control unknown-float41) f0-12)
|
||||
(let
|
||||
((a1-2 (vector-float*! (new 'stack-no-clear 'vector) (if (= f30-0 0.0)
|
||||
*zero-vector*
|
||||
@@ -2711,7 +2711,7 @@
|
||||
(set! (-> self cam-user-mode) 'normal)
|
||||
(set! (-> self control unknown-handle10) (the-as handle #f))
|
||||
(set! (-> self control unknown-handle00) (the-as handle #f))
|
||||
(set! (-> self control unknown-dword72) 0)
|
||||
(set! (-> self control unknown-dword82) 0)
|
||||
(buzz-stop! 0)
|
||||
self
|
||||
)
|
||||
@@ -2840,7 +2840,7 @@
|
||||
(add-connection *debug-engine* self target-print-stats self *stdcon0* #f)
|
||||
)
|
||||
(activate-hud self)
|
||||
(set! (-> self fp-hud) (the-as uint #f))
|
||||
(set! (-> self fp-hud) (the-as handle #f))
|
||||
(set! (-> self water) (new 'process 'water-control self 9 0.0 8192.0 2048.0))
|
||||
(set! (-> self water flags) (the-as uint #x4000f0))
|
||||
(reset-target-state #t)
|
||||
|
||||
+333
@@ -0,0 +1,333 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for symbol *sidekick-remap*, type pair
|
||||
(define
|
||||
*sidekick-remap*
|
||||
'(
|
||||
("run-to-stance-left"
|
||||
"run-to-stance"
|
||||
)
|
||||
("run-to-stance-loop-left"
|
||||
"run-to-stance-loop"
|
||||
)
|
||||
("stance-loop-left"
|
||||
"stance-loop"
|
||||
)
|
||||
("run-to-stance-right"
|
||||
"run-to-stance"
|
||||
)
|
||||
("run-to-stance-loop-right"
|
||||
"run-to-stance-loop"
|
||||
)
|
||||
("stance-loop-right"
|
||||
"stance-loop"
|
||||
)
|
||||
("run-to-stance-up"
|
||||
"run-to-stance"
|
||||
)
|
||||
("run-to-stance-loop-up"
|
||||
"run-to-stance-loop"
|
||||
)
|
||||
("stance-loop-up"
|
||||
"stance-loop"
|
||||
)
|
||||
("run-to-stance-down"
|
||||
"run-to-stance"
|
||||
)
|
||||
("run-to-stance-loop-down"
|
||||
"run-to-stance-loop"
|
||||
)
|
||||
("stance-loop-down"
|
||||
"stance-loop"
|
||||
)
|
||||
("run-right"
|
||||
"run"
|
||||
)
|
||||
("run-left"
|
||||
"run"
|
||||
)
|
||||
("walk-right"
|
||||
"walk"
|
||||
)
|
||||
("walk-left"
|
||||
"walk"
|
||||
)
|
||||
("edge-grab-stance1"
|
||||
"edge-grab-stance1"
|
||||
"edge-grab-stance1-alt"
|
||||
)
|
||||
("pole-cycle" "pole-cycle" "pole-cycle2")
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cspace<-cspace+quaternion!
|
||||
(defun cspace<-cspace+quaternion! ((arg0 cspace) (arg1 cspace) (arg2 quaternion))
|
||||
(rlet ((Q :class vf)
|
||||
(vf0 :class vf)
|
||||
(vf1 :class vf)
|
||||
(vf2 :class vf)
|
||||
(vf3 :class vf)
|
||||
(vf4 :class vf)
|
||||
(vf5 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(let ((s5-0 (-> arg0 bone transform)))
|
||||
(quaternion->matrix s5-0 arg2)
|
||||
(.lvf vf1 (&-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad))
|
||||
(.lvf vf2 (&-> (-> arg1 bone) transform vector 3 quad))
|
||||
(.lvf vf3 (&-> s5-0 vector 0 quad))
|
||||
(.lvf vf4 (&-> s5-0 vector 1 quad))
|
||||
(.lvf vf5 (&-> s5-0 vector 2 quad))
|
||||
(.div.vf Q vf0 vf2 :fsf #b11 :ftf #b11)
|
||||
(.wait.vf)
|
||||
(.mul.vf vf2 vf2 Q :mask #b111)
|
||||
(.mov.vf vf2 vf0 :mask #b1000)
|
||||
(.mul.x.vf vf3 vf3 vf1)
|
||||
(.mul.y.vf vf4 vf4 vf1)
|
||||
(.mul.z.vf vf5 vf5 vf1)
|
||||
(.svf (&-> s5-0 vector 3 quad) vf2)
|
||||
(.svf (&-> s5-0 vector 0 quad) vf3)
|
||||
(.svf (&-> s5-0 vector 1 quad) vf4)
|
||||
(.svf (&-> s5-0 vector 2 quad) vf5)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate sidekick-clone (sidekick)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(local-vars (v0-0 object))
|
||||
(case arg2
|
||||
(('matrix)
|
||||
(case (-> arg3 param 0)
|
||||
(('play-anim)
|
||||
(set! v0-0 (-> self node-list data))
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param0)
|
||||
cspace<-cspace+quaternion!
|
||||
)
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param1)
|
||||
(the-as basic (-> self parent-override 0 node-list data))
|
||||
)
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param2)
|
||||
(the-as basic (-> self parent-override 0 control quat))
|
||||
)
|
||||
)
|
||||
(('copy-parent)
|
||||
(set! v0-0 (-> self node-list data))
|
||||
(set! (-> (the-as (inline-array cspace) v0-0) 0 param0) cspace<-cspace!)
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param1)
|
||||
(the-as basic (-> self parent-override 0 node-list data))
|
||||
)
|
||||
(set! (-> (the-as (inline-array cspace) v0-0) 0 param2) #f)
|
||||
)
|
||||
(else
|
||||
(set! v0-0 (-> self node-list data))
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param0)
|
||||
cspace<-cspace+quaternion!
|
||||
)
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param1)
|
||||
(the-as
|
||||
basic
|
||||
(-> self parent-override 0 control unknown-cspace10 parent)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> (the-as (inline-array cspace) v0-0) 0 param2)
|
||||
(the-as basic (-> self parent-override 0 control quat))
|
||||
)
|
||||
)
|
||||
)
|
||||
v0-0
|
||||
)
|
||||
(('shadow)
|
||||
(set! v0-0 (-> arg3 param 0))
|
||||
(set! (-> self shadow-in-movie?) (the-as symbol v0-0))
|
||||
v0-0
|
||||
)
|
||||
(('blend-shape)
|
||||
(cond
|
||||
((-> arg3 param 0)
|
||||
(set! v0-0 (logior (-> self skel status) 8))
|
||||
(set! (-> self skel status) (the-as uint v0-0))
|
||||
)
|
||||
(else
|
||||
(set! v0-0 (logand -9 (-> self skel status)))
|
||||
(set! (-> self skel status) (the-as uint v0-0))
|
||||
)
|
||||
)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
:code
|
||||
(the-as (function none :behavior sidekick) looping-code)
|
||||
:post
|
||||
(behavior ()
|
||||
(let ((v1-0 'process-drawable-art-error)
|
||||
(a0-0 (-> self parent-override))
|
||||
)
|
||||
(when (!= (-> (if a0-0
|
||||
(-> a0-0 0 self-override)
|
||||
)
|
||||
next-state
|
||||
name
|
||||
)
|
||||
v1-0
|
||||
)
|
||||
(quaternion-copy!
|
||||
(-> self root quat)
|
||||
(-> self parent-override 0 control quat)
|
||||
)
|
||||
(set! (-> self anim-seed) (-> self parent-override 0 anim-seed))
|
||||
(set! (-> self draw status) (-> self parent-override 0 draw status))
|
||||
(joint-control-copy! (-> self skel) (-> self parent-override 0 skel))
|
||||
(joint-control-remap!
|
||||
(-> self skel)
|
||||
(-> self draw art-group)
|
||||
(-> self parent-override 0 draw art-group)
|
||||
*sidekick-remap*
|
||||
(the-as int (-> self anim-seed))
|
||||
""
|
||||
)
|
||||
(let ((v1-22 (-> self parent-override 0 draw color-mult quad)))
|
||||
(set! (-> self draw color-mult quad) v1-22)
|
||||
)
|
||||
(let ((v1-26 (-> self parent-override 0 draw color-emissive quad)))
|
||||
(set! (-> self draw color-emissive quad) v1-26)
|
||||
)
|
||||
(set!
|
||||
(-> self draw secondary-interp)
|
||||
(-> self parent-override 0 draw secondary-interp)
|
||||
)
|
||||
(if *debug-segment*
|
||||
(add-frame
|
||||
(-> *display* frames (-> *display* on-screen) frame profile-bar 0)
|
||||
'draw
|
||||
(new 'static 'rgba :r #x40 :b #x40 :a #x80)
|
||||
)
|
||||
)
|
||||
(dummy-17 self)
|
||||
(if *debug-segment*
|
||||
(add-frame
|
||||
(-> *display* frames (-> *display* on-screen) frame profile-bar 0)
|
||||
'draw
|
||||
(new 'static 'rgba :r #x80 :a #x80)
|
||||
)
|
||||
)
|
||||
(vector<-cspace!
|
||||
(-> self draw origin)
|
||||
(-> self node-list data (-> self draw origin-joint-index))
|
||||
)
|
||||
)
|
||||
)
|
||||
(when *display-sidekick-stats*
|
||||
(format *stdcon* "~%")
|
||||
(dummy-10 (-> self skel) (the-as symbol *stdcon*))
|
||||
(add-debug-sphere
|
||||
*display-sidekick-stats*
|
||||
(bucket-id debug-draw1)
|
||||
(->
|
||||
self
|
||||
parent-override
|
||||
0
|
||||
control
|
||||
unknown-cspace10
|
||||
parent
|
||||
bone
|
||||
transform
|
||||
vector
|
||||
3
|
||||
)
|
||||
409.6
|
||||
(new 'static 'rgba :g #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere
|
||||
*display-sidekick-stats*
|
||||
(bucket-id debug-draw1)
|
||||
(-> self node-list data 3 bone transform vector 3)
|
||||
409.6
|
||||
(new 'static 'rgba :r #xff :g #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere
|
||||
*display-sidekick-stats*
|
||||
(bucket-id debug-draw1)
|
||||
(-> self draw origin)
|
||||
409.6
|
||||
(new 'static 'rgba :r #xff :g #x80 :a #x80)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self draw shadow)
|
||||
(the-as shadow-geo (if (and (movie?) (-> self shadow-in-movie?))
|
||||
(-> self draw art-group data 2)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a0-26 (-> self skel effect)))
|
||||
(if a0-26
|
||||
(TODO-RENAME-9 a0-26)
|
||||
)
|
||||
)
|
||||
(if (logtest? (-> self skel status) 72)
|
||||
(merc-blend-shape self)
|
||||
)
|
||||
(if (logtest? (-> self skel status) 384)
|
||||
(merc-eye-anim self)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defskelgroup *sidekick-sg* sidekick
|
||||
0
|
||||
-1
|
||||
((1 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 3)
|
||||
:longest-edge (meters 1)
|
||||
:shadow 2
|
||||
:texture-level 2
|
||||
:sort 1
|
||||
)
|
||||
|
||||
;; definition for function init-sidekick
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
(defbehavior init-sidekick sidekick ()
|
||||
(logior! (-> self mask) (process-mask sidekick))
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(vector-identity! (-> self root scale))
|
||||
(quaternion-identity! (-> self root quat))
|
||||
(initialize-skeleton self *sidekick-sg* '())
|
||||
(set! (-> self draw origin-joint-index) (the-as uint 6))
|
||||
(set! (-> self draw shadow-joint-index) (the-as uint 6))
|
||||
(set! (-> self draw shadow-ctrl) *target-shadow-control*)
|
||||
(logior! (-> self skel status) 256)
|
||||
(let ((v1-14 (-> self node-list data)))
|
||||
(set! (-> v1-14 0 param0) cspace<-cspace+quaternion!)
|
||||
(set!
|
||||
(-> v1-14 0 param1)
|
||||
(the-as basic (-> self parent-override 0 control unknown-cspace10 parent))
|
||||
)
|
||||
(set!
|
||||
(-> v1-14 0 param2)
|
||||
(the-as basic (-> self parent-override 0 control quat))
|
||||
)
|
||||
)
|
||||
(set! (-> self shadow-in-movie?) #t)
|
||||
(go sidekick-clone)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function starts
|
||||
(defun starts ()
|
||||
(send-event *target* 'sidekick #t)
|
||||
)
|
||||
+10
-8
@@ -3,7 +3,8 @@
|
||||
|
||||
;; definition of type target
|
||||
(deftype target (process-drawable)
|
||||
((control control-info :offset 112)
|
||||
((self-override target :offset 28)
|
||||
(control control-info :offset 112)
|
||||
(fact-info-target fact-info-target :offset 144)
|
||||
(skel2 basic :offset-assert 176)
|
||||
(racer racer-info :offset-assert 180)
|
||||
@@ -20,12 +21,12 @@
|
||||
(alt-cam-pos vector :inline :offset-assert 448)
|
||||
(snowball snowball-info :offset-assert 464)
|
||||
(tube tube-info :offset-assert 468)
|
||||
(flut basic :offset-assert 472)
|
||||
(flut flut-info :offset-assert 472)
|
||||
(current-level level :offset-assert 476)
|
||||
(saved-pos transformq :inline :offset-assert 480)
|
||||
(saved-owner uint64 :offset-assert 528)
|
||||
(alt-neck-pos vector :inline :offset-assert 544)
|
||||
(fp-hud uint64 :offset-assert 560)
|
||||
(fp-hud handle :offset-assert 560)
|
||||
(no-load-wait uint64 :offset-assert 568)
|
||||
(no-look-around-wait uint64 :offset-assert 576)
|
||||
)
|
||||
@@ -37,8 +38,8 @@
|
||||
(dummy-20 (_type_ collide-cache) object 20)
|
||||
)
|
||||
(:states
|
||||
target-clone-anim
|
||||
target-death
|
||||
(target-clone-anim handle)
|
||||
(target-death symbol)
|
||||
(target-hit-ground symbol)
|
||||
(target-racing-bounce float float symbol)
|
||||
(target-racing-clone-anim handle)
|
||||
@@ -95,9 +96,10 @@
|
||||
|
||||
;; definition of type sidekick
|
||||
(deftype sidekick (process-drawable)
|
||||
((control control-info :offset 112)
|
||||
(anim-seed uint64 :offset 192)
|
||||
(shadow-in-movie? symbol :offset-assert 200)
|
||||
((parent-override (pointer target) :offset 12)
|
||||
(control control-info :offset 112)
|
||||
(anim-seed uint64 :offset 192)
|
||||
(shadow-in-movie? symbol :offset-assert 200)
|
||||
)
|
||||
:heap-base #x60
|
||||
:method-count-assert 20
|
||||
|
||||
+13
-9
@@ -1093,7 +1093,8 @@
|
||||
)
|
||||
|
||||
;; definition for function fall-test
|
||||
(defbehavior fall-test target ((arg0 symbol) (arg1 symbol))
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
(defbehavior fall-test target ()
|
||||
(when
|
||||
(and
|
||||
(zero? (logand (-> self control status) 1))
|
||||
@@ -1141,10 +1142,12 @@
|
||||
)
|
||||
(go target-falling #f)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function slide-down-test
|
||||
(defbehavior slide-down-test target ((arg0 symbol) (arg1 symbol))
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
(defbehavior slide-down-test target ()
|
||||
(if
|
||||
(and
|
||||
(zero? (logand (-> self control status) 129))
|
||||
@@ -1157,6 +1160,7 @@
|
||||
)
|
||||
(go target-slide-down)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function smack-surface?
|
||||
@@ -1296,13 +1300,13 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(-> self control unknown-dword30)
|
||||
(-> self control unknown-dword31)
|
||||
)
|
||||
)
|
||||
#t
|
||||
)
|
||||
(else
|
||||
(set! (-> self control unknown-dword31) (-> *display* base-frame-counter))
|
||||
(set! (-> self control unknown-dword32) (-> *display* base-frame-counter))
|
||||
#f
|
||||
)
|
||||
)
|
||||
@@ -1322,12 +1326,12 @@
|
||||
(-> *display* base-frame-counter)
|
||||
(the-as int (-> *TARGET-bank* attack-timeout))
|
||||
)
|
||||
(-> self control unknown-dword32)
|
||||
(-> self control unknown-dword33)
|
||||
)
|
||||
#t
|
||||
)
|
||||
(else
|
||||
(set! (-> self control unknown-dword33) (-> *display* base-frame-counter))
|
||||
(set! (-> self control unknown-dword34) (-> *display* base-frame-counter))
|
||||
#f
|
||||
)
|
||||
)
|
||||
@@ -1376,7 +1380,7 @@
|
||||
;; definition for function delete-back-vel
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior delete-back-vel target ((arg0 float))
|
||||
(defbehavior delete-back-vel target ()
|
||||
(let ((s5-0 (new-stack-vector0)))
|
||||
(vector-z-quaternion! s5-0 (-> self control dir-targ))
|
||||
(let ((gp-0 (new-stack-vector0))
|
||||
@@ -1425,8 +1429,8 @@
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defun target-timed-invulnerable ((arg0 seconds) (arg1 target))
|
||||
(logior! (-> arg1 state-flags) 32)
|
||||
(set! (-> arg1 control unknown-dword70) (-> *display* base-frame-counter))
|
||||
(set! (-> arg1 control unknown-dword71) (the-as int arg0))
|
||||
(set! (-> arg1 control unknown-dword80) (-> *display* base-frame-counter))
|
||||
(set! (-> arg1 control unknown-dword81) (the-as int arg0))
|
||||
(dummy-53 (-> arg1 control) 2 4096 0)
|
||||
0
|
||||
(none)
|
||||
|
||||
+5981
File diff suppressed because it is too large
Load Diff
+7561
File diff suppressed because it is too large
Load Diff
+4
-4
@@ -834,7 +834,7 @@
|
||||
(-> self control unknown-vector102 y)
|
||||
(+ -4096.0 (-> self control unknown-vector102 y))
|
||||
)
|
||||
(set! (-> self control unknown-float120) (the-as float #f))
|
||||
(set! (-> self control unknown-uint20) (the-as uint #f))
|
||||
(vector-reset! (-> self control transv))
|
||||
(logior! (-> self state-flags) 1024)
|
||||
(set! (-> self alt-cam-pos quad) (-> arg1 quad))
|
||||
@@ -984,7 +984,7 @@
|
||||
(and
|
||||
(or
|
||||
(< (vector-dot gp-2 (-> self control transv)) 0.0)
|
||||
(-> self control unknown-float120)
|
||||
(-> self control unknown-spoolanim00)
|
||||
)
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 15)
|
||||
)
|
||||
@@ -995,10 +995,10 @@
|
||||
)
|
||||
(set! (-> self control transv x) (* 0.95 (-> self control transv x)))
|
||||
(set! (-> self control transv z) (* 0.95 (-> self control transv z)))
|
||||
(when (not (-> self control unknown-float120))
|
||||
(when (not (-> self control unknown-spoolanim00))
|
||||
(send-event self 'do-effect 'death-warp-out -1.0)
|
||||
(let ((v0-2 #t))
|
||||
(set! (-> self control unknown-float120) (the-as float v0-2))
|
||||
(set! (-> self control unknown-uint20) (the-as uint v0-2))
|
||||
v0-2
|
||||
)
|
||||
)
|
||||
|
||||
+1
-5
@@ -126,7 +126,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> obj attack-event) (the-as basic v0-1))
|
||||
(set! (-> obj attack-event) (the-as symbol v0-1))
|
||||
v0-1
|
||||
)
|
||||
)
|
||||
@@ -517,7 +517,3 @@
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -1019,7 +1019,7 @@
|
||||
|
||||
;; definition for method 24 of type water-anim
|
||||
;; INFO: Return type mismatch symbol vs none.
|
||||
(defmethod dummy-24 water-anim ()
|
||||
(defmethod set-stack-size! water-anim ((obj water-anim))
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
+52
-50
@@ -13,9 +13,9 @@
|
||||
:flag-assert #xd00000028
|
||||
(:methods
|
||||
(dummy-9 (_type_ vector) none 9)
|
||||
(dummy-10 (_type_ vector vector) symbol 10)
|
||||
(TODO-RENAME-10 (_type_ collide-prim-core vector) symbol 10)
|
||||
(dummy-11 (_type_ vector) symbol 11)
|
||||
(dummy-12 (_type_ vector) none 12)
|
||||
(dummy-12 (_type_ vector) vector 12)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -30,12 +30,15 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type torus
|
||||
(defmethod dummy-10 torus ((obj torus) (arg0 vector) (arg1 vector))
|
||||
(defmethod
|
||||
TODO-RENAME-10
|
||||
torus
|
||||
((obj torus) (arg0 collide-prim-core) (arg1 vector))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
(f30-0 (+ (-> obj radius-secondary) (-> arg0 w)))
|
||||
(f30-0 (+ (-> obj radius-secondary) (-> arg0 world-sphere w)))
|
||||
)
|
||||
(vector-! gp-0 arg0 (-> obj origin))
|
||||
(vector-! gp-0 (the-as vector arg0) (-> obj origin))
|
||||
(vector-flatten! s5-0 gp-0 (-> obj axis))
|
||||
(vector-normalize! s5-0 (-> obj radius-primary))
|
||||
(vector-! arg1 gp-0 s5-0)
|
||||
@@ -50,7 +53,7 @@
|
||||
(when
|
||||
(and
|
||||
(logtest? (-> s4-0 prim-core collide-as) 16)
|
||||
(dummy-10 obj (the-as vector (-> s4-0 prim-core)) arg0)
|
||||
(TODO-RENAME-10 obj (-> s4-0 prim-core) arg0)
|
||||
)
|
||||
(countdown (s3-0 (-> s4-0 num-prims))
|
||||
(let ((v1-9 (-> s4-0 prims s3-0)))
|
||||
@@ -58,7 +61,7 @@
|
||||
(and
|
||||
(logtest? (-> v1-9 prim-core action) 1)
|
||||
(logtest? (-> v1-9 prim-core collide-as) 16)
|
||||
(dummy-10 obj (the-as vector (-> v1-9 prim-core)) arg0)
|
||||
(TODO-RENAME-10 obj (-> v1-9 prim-core) arg0)
|
||||
)
|
||||
(return #t)
|
||||
)
|
||||
@@ -139,7 +142,6 @@
|
||||
)
|
||||
|
||||
;; definition for method 12 of type torus
|
||||
;; INFO: Return type mismatch vector vs none.
|
||||
(defmethod dummy-12 torus ((obj torus) (arg0 vector))
|
||||
(let* ((f30-0 65536.0)
|
||||
(v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256))
|
||||
@@ -170,15 +172,16 @@
|
||||
(vector-matrix*! arg0 arg0 s2-0)
|
||||
)
|
||||
(vector+! arg0 arg0 (-> obj origin))
|
||||
(none)
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition of type arcing-shot
|
||||
(deftype arcing-shot (process-drawable)
|
||||
((y-vel float :offset-assert 176)
|
||||
(grav float :offset-assert 180)
|
||||
(from vector :inline :offset-assert 192)
|
||||
(to vector :inline :offset-assert 208)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
(y-vel float :offset-assert 176)
|
||||
(grav float :offset-assert 180)
|
||||
(from vector :inline :offset-assert 192)
|
||||
(to vector :inline :offset-assert 208)
|
||||
)
|
||||
:heap-base #x70
|
||||
:method-count-assert 20
|
||||
@@ -199,7 +202,6 @@
|
||||
)
|
||||
|
||||
;; definition for function arcing-shot-setup
|
||||
;; INFO: Return type mismatch float vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior
|
||||
arcing-shot-setup arcing-shot
|
||||
@@ -218,24 +220,24 @@
|
||||
(* 0.5 (- (sqrtf (- (* f0-6 f0-6) (* 4.0 f3-1))) f0-6))
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self grav)
|
||||
(/ (- (* (-> self y-vel) (-> self y-vel))) (* 2.0 v1-2))
|
||||
(let ((f0-12 (/ (- (* (-> self y-vel) (-> self y-vel))) (* 2.0 v1-2))))
|
||||
(set! (-> self grav) f0-12)
|
||||
f0-12
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function arcing-shot-calculate
|
||||
;; INFO: Return type mismatch float vs none.
|
||||
(defbehavior arcing-shot-calculate arcing-shot ((arg0 vector) (arg1 float))
|
||||
(let ((s5-0 (fmin 1.0 (fmax 0.0 arg1))))
|
||||
(vector-lerp! arg0 (-> self from) (-> self to) s5-0)
|
||||
(set! (-> arg0 y) (-> self from y))
|
||||
(+! (-> arg0 y) (* (-> self y-vel) s5-0))
|
||||
(+! (-> arg0 y) (* 0.5 s5-0 s5-0 (-> self grav)))
|
||||
(let ((f0-6 (+ (-> arg0 y) (* 0.5 s5-0 s5-0 (-> self grav)))))
|
||||
(set! (-> arg0 y) f0-6)
|
||||
f0-6
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function arcing-shot-draw
|
||||
@@ -340,7 +342,7 @@
|
||||
#f
|
||||
#f
|
||||
#f
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
)
|
||||
(-> s5-1 ppointer)
|
||||
)
|
||||
@@ -471,7 +473,7 @@
|
||||
#f
|
||||
#f
|
||||
#f
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
)
|
||||
(-> gp-0 ppointer)
|
||||
)
|
||||
@@ -710,7 +712,7 @@
|
||||
:trans
|
||||
(behavior ()
|
||||
(arcing-shot-calculate
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
(/
|
||||
(the float (- (-> *display* game-frame-counter) (-> self state-time)))
|
||||
(the float (-> self flight-time))
|
||||
@@ -857,9 +859,9 @@
|
||||
)
|
||||
(set! (-> s1-0 nav-radius) (* 0.75 (-> s1-0 root-prim local-sphere w)))
|
||||
(backup-collide-with-as s1-0)
|
||||
(set! (-> self root) s1-0)
|
||||
(set! (-> self root-override) s1-0)
|
||||
)
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self root-override trans quad) (-> arg0 quad))
|
||||
(initialize-skeleton self *darkecobomb-sg* '())
|
||||
(logclear! (-> self mask) (process-mask actor-pause))
|
||||
(set!
|
||||
@@ -927,7 +929,7 @@
|
||||
:trans
|
||||
(behavior ()
|
||||
(arcing-shot-calculate
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
(/
|
||||
(the float (- (-> *display* game-frame-counter) (-> self state-time)))
|
||||
(the float (-> self flight-time))
|
||||
@@ -940,7 +942,7 @@
|
||||
)
|
||||
(deactivate self)
|
||||
)
|
||||
(spawn (-> self part) (-> self root trans))
|
||||
(spawn (-> self part) (-> self root-override trans))
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
@@ -1005,7 +1007,7 @@
|
||||
;; Used lq/sq
|
||||
(defbehavior
|
||||
greenshot-init-by-other greenshot
|
||||
((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint))
|
||||
((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint) (arg4 float))
|
||||
(let
|
||||
((s2-0
|
||||
(new
|
||||
@@ -1034,9 +1036,9 @@
|
||||
)
|
||||
(set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w)))
|
||||
(backup-collide-with-as s2-0)
|
||||
(set! (-> self root) s2-0)
|
||||
(set! (-> self root-override) s2-0)
|
||||
)
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self root-override trans quad) (-> arg0 quad))
|
||||
(initialize-skeleton self *greenshot-sg* '())
|
||||
(logclear! (-> self mask) (process-mask actor-pause))
|
||||
(arcing-shot-setup arg0 arg1 arg2)
|
||||
@@ -1142,10 +1144,10 @@
|
||||
(the float (+ (-> self rotation-offset) (-> *display* game-frame-counter)))
|
||||
)
|
||||
)
|
||||
(matrix->quaternion (-> self root quat) s5-0)
|
||||
(matrix->quaternion (-> self root-override quat) s5-0)
|
||||
)
|
||||
(if (< (* 0.006666667 (the float (min 150 arg0))) 1.0)
|
||||
(spawn (-> self part) (-> self root trans))
|
||||
(spawn (-> self part) (-> self root-override trans))
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1164,9 +1166,9 @@
|
||||
#t
|
||||
)
|
||||
(set! (-> self draw status) (logand -3 (-> self draw status)))
|
||||
(quaternion-identity! (-> self root quat))
|
||||
(quaternion-identity! (-> self root-override quat))
|
||||
(set! (-> self ring radius-secondary) 3072.0)
|
||||
(set! (-> self ring origin quad) (-> self root trans quad))
|
||||
(set! (-> self ring origin quad) (-> self root-override trans quad))
|
||||
(+! (-> self ring origin y) (-> self ring radius-secondary))
|
||||
(set-vector! (-> self ring axis) 0.0 1.0 0.0 1.0)
|
||||
(let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000)))
|
||||
@@ -1197,7 +1199,7 @@
|
||||
redshot-particle-callback
|
||||
(-> self ppointer)
|
||||
#f
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
)
|
||||
(-> gp-1 ppointer)
|
||||
)
|
||||
@@ -1310,7 +1312,7 @@
|
||||
)
|
||||
(go redshot-explode)
|
||||
)
|
||||
(spawn (-> self shot-particle) (-> self root trans))
|
||||
(spawn (-> self shot-particle) (-> self root-override trans))
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
@@ -1337,7 +1339,7 @@
|
||||
(behavior ()
|
||||
(redshot-trans 1500)
|
||||
(arcing-shot-calculate
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
(/
|
||||
(the float (- (-> *display* game-frame-counter) (-> self state-time)))
|
||||
(the float (-> self flight-time))
|
||||
@@ -1350,7 +1352,7 @@
|
||||
)
|
||||
(go redshot-wait)
|
||||
)
|
||||
(spawn (-> self shot-particle) (-> self root trans))
|
||||
(spawn (-> self shot-particle) (-> self root-override trans))
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
@@ -1369,7 +1371,7 @@
|
||||
;; Used lq/sq
|
||||
(defbehavior
|
||||
redshot-init-by-other redshot
|
||||
((arg0 vector) (arg1 vector) (arg2 float) (arg3 int) (arg4 int) (arg5 int))
|
||||
((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint) (arg4 uint) (arg5 uint))
|
||||
(local-vars (sv-16 collide-shape-prim-sphere))
|
||||
(let
|
||||
((s0-0
|
||||
@@ -1400,15 +1402,15 @@
|
||||
(set-root-prim! s0-0 sv-16)
|
||||
(set! (-> s0-0 nav-radius) (* 0.75 (-> s0-0 root-prim local-sphere w)))
|
||||
(backup-collide-with-as s0-0)
|
||||
(set! (-> self root) s0-0)
|
||||
(set! (-> self root-override) s0-0)
|
||||
)
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self root-override trans quad) (-> arg0 quad))
|
||||
(initialize-skeleton self *redring-sg* '())
|
||||
(logclear! (-> self mask) (process-mask actor-pause))
|
||||
(arcing-shot-setup arg0 arg1 arg2)
|
||||
(set! (-> self flight-time) arg3)
|
||||
(set! (-> self stall-time) arg4)
|
||||
(set! (-> self rotation-offset) arg5)
|
||||
(set! (-> self flight-time) (the-as int arg3))
|
||||
(set! (-> self stall-time) (the-as int arg4))
|
||||
(set! (-> self rotation-offset) (the-as int arg5))
|
||||
(set!
|
||||
(-> self part)
|
||||
(create-launch-control (-> *part-group-id-table* 647) self)
|
||||
@@ -1435,7 +1437,7 @@
|
||||
:volume #x400
|
||||
:fo-max 80
|
||||
)
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
)
|
||||
)
|
||||
(go redshot-idle)
|
||||
@@ -1492,13 +1494,13 @@
|
||||
:trans
|
||||
(behavior ()
|
||||
(arcing-shot-calculate
|
||||
(-> self root trans)
|
||||
(-> self root-override trans)
|
||||
(/
|
||||
(the float (- (-> *display* game-frame-counter) (-> self state-time)))
|
||||
(the float (-> self flight-time))
|
||||
)
|
||||
)
|
||||
(spawn (-> self part) (-> self root trans))
|
||||
(spawn (-> self part) (-> self root-override trans))
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* game-frame-counter) (-> self state-time))
|
||||
@@ -1555,9 +1557,9 @@
|
||||
)
|
||||
(set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w)))
|
||||
(backup-collide-with-as s2-0)
|
||||
(set! (-> self root) s2-0)
|
||||
(set! (-> self root-override) s2-0)
|
||||
)
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self root-override trans quad) (-> arg0 quad))
|
||||
(initialize-skeleton self *redring-sg* '())
|
||||
(logior! (-> self draw status) 2)
|
||||
(arcing-shot-setup arg0 arg1 arg2)
|
||||
|
||||
+3
-1
@@ -3972,10 +3972,12 @@
|
||||
|
||||
;; definition for function robotboss-greenshot
|
||||
;; INFO: Return type mismatch sound-id vs none.
|
||||
;; WARN: Function may read a register that is not set: t2
|
||||
;; Used lq/sq
|
||||
(defbehavior
|
||||
robotboss-greenshot robotboss
|
||||
((arg0 vector) (arg1 basic) (arg2 basic) (arg3 symbol))
|
||||
(local-vars (t2-0 none))
|
||||
(+! (-> self children-spawned) 1)
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(let ((s2-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -3993,7 +3995,7 @@
|
||||
(the-as pointer #x70004000)
|
||||
)
|
||||
)
|
||||
(run-now-in-process s1-1 greenshot-init-by-other gp-0 s2-0 arg1 arg2)
|
||||
(run-now-in-process s1-1 greenshot-init-by-other gp-0 s2-0 arg1 arg2 t2-0)
|
||||
(-> s1-1 ppointer)
|
||||
)
|
||||
)
|
||||
|
||||
+10
-9
@@ -8,15 +8,16 @@
|
||||
|
||||
;; definition of type flutflut
|
||||
(deftype flutflut (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
(extra-trans vector :inline :offset-assert 176)
|
||||
(condition int32 :offset-assert 192)
|
||||
(auto-get-off symbol :offset-assert 196)
|
||||
(cell handle :offset-assert 200)
|
||||
(path-data path-control 2 :offset-assert 208)
|
||||
(path-target path-control :offset 208)
|
||||
(path-flut path-control :offset 212)
|
||||
(touch-time uint64 :offset-assert 216)
|
||||
((parent-override (pointer target) :offset 12)
|
||||
(root-override collide-shape-moving :offset 112)
|
||||
(extra-trans vector :inline :offset-assert 176)
|
||||
(condition int32 :offset-assert 192)
|
||||
(auto-get-off symbol :offset-assert 196)
|
||||
(cell handle :offset-assert 200)
|
||||
(path-data path-control 2 :offset-assert 208)
|
||||
(path-target path-control :offset 208)
|
||||
(path-flut path-control :offset 212)
|
||||
(touch-time uint64 :offset-assert 216)
|
||||
)
|
||||
:pack-me
|
||||
:heap-base #x70
|
||||
|
||||
+4
-4
@@ -2967,7 +2967,7 @@
|
||||
(activate! (-> self control unknown-smush00) 1.0 120 210 0.3 1.0)
|
||||
)
|
||||
((= arg2 'lose)
|
||||
(set! (-> self control unknown-float120) (the-as float arg2))
|
||||
(set! (-> self control unknown-uint20) (the-as uint arg2))
|
||||
arg2
|
||||
)
|
||||
(else
|
||||
@@ -2980,7 +2980,7 @@
|
||||
(set! (-> self control unknown-surface00) *empty-mods*)
|
||||
(logior! (-> self state-flags) 16)
|
||||
(set-zero! (-> self control unknown-smush00))
|
||||
(set! (-> self control unknown-float120) (the-as float #f))
|
||||
(set! (-> self control unknown-uint20) (the-as uint #f))
|
||||
(none)
|
||||
)
|
||||
:exit
|
||||
@@ -3097,7 +3097,7 @@
|
||||
(set! (-> s5-1 frame-num) (ja-aframe 15.0 0))
|
||||
)
|
||||
(let ((s5-2 (new 'stack-no-clear 'vector)))
|
||||
(until (-> self control unknown-float120)
|
||||
(until (-> self control unknown-spoolanim00)
|
||||
(let ((v1-42 (handle->process arg0)))
|
||||
(when v1-42
|
||||
(let ((a0-28 (-> self skel root-channel 0)))
|
||||
@@ -3154,7 +3154,7 @@
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
(case (-> self control unknown-float120)
|
||||
(case (-> self control unknown-spoolanim00)
|
||||
(('lose)
|
||||
(ja-channel-push! 1 30)
|
||||
(let ((a0-38 (-> self skel root-channel 0)))
|
||||
|
||||
+251
@@ -0,0 +1,251 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function racer-collision-reaction
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun
|
||||
racer-collision-reaction
|
||||
((arg0 control-info)
|
||||
(arg1 collide-shape-intersect)
|
||||
(arg2 vector)
|
||||
(arg3 vector)
|
||||
)
|
||||
(local-vars
|
||||
(sv-80 vector)
|
||||
(sv-84 vector)
|
||||
(sv-88 (inline-array vector))
|
||||
(sv-96 int)
|
||||
(sv-104 int)
|
||||
)
|
||||
(set! sv-80 (new-stack-vector0))
|
||||
(set! sv-84 (new-stack-vector0))
|
||||
(let ((v1-2 (new 'stack-no-clear 'inline-array 'vector 2)))
|
||||
(dotimes (a0-1 2)
|
||||
(set! (-> v1-2 a0-1 quad) (the-as uint128 0))
|
||||
)
|
||||
(set! sv-88 v1-2)
|
||||
)
|
||||
(set! sv-96 0)
|
||||
(set! sv-104 0)
|
||||
(set! (-> sv-88 0 quad) (-> arg3 quad))
|
||||
(set! (-> sv-88 1 quad) (-> arg3 quad))
|
||||
(let ((a1-3 (new 'stack-no-clear 'vector)))
|
||||
(vector-float*! a1-3 (-> arg1 move-vec) (-> arg1 best-u))
|
||||
(TODO-RENAME-28 arg0 a1-3)
|
||||
)
|
||||
(dummy-56 arg0 (-> arg1 best-tri pat))
|
||||
(if (= (-> arg0 poly-pat mode) (pat-mode wall))
|
||||
(set! sv-104 (logior sv-104 1))
|
||||
)
|
||||
(if (= (-> arg0 unknown-surface00 mode) 'air)
|
||||
(set! sv-104 (logior sv-104 32))
|
||||
)
|
||||
(let ((v1-21 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> v1-21 quad) (-> arg1 best-from-prim prim-core world-sphere quad))
|
||||
(vector-! sv-80 v1-21 (-> arg1 best-tri intersect))
|
||||
)
|
||||
(vector-normalize! sv-80 1.0)
|
||||
(set! (-> arg0 coverage) (vector-dot sv-80 (-> arg1 best-tri normal)))
|
||||
(when (< (-> arg0 coverage) 0.0)
|
||||
(set! (-> arg0 coverage) 0.0)
|
||||
(vector-flatten! sv-80 sv-80 (-> arg1 best-tri normal))
|
||||
(vector-normalize! sv-80 1.0)
|
||||
)
|
||||
(if (< (-> arg0 coverage) 0.9999)
|
||||
(set! sv-104 (logior sv-104 24))
|
||||
)
|
||||
(let ((v1-31 (-> sv-80 quad)))
|
||||
(set! (-> sv-84 quad) v1-31)
|
||||
)
|
||||
(if (= (-> arg1 best-u) 0.0)
|
||||
(TODO-RENAME-28 arg0 (vector-normalize-copy! (new-stack-vector0) sv-84 3.0))
|
||||
)
|
||||
(set! (-> arg0 poly-normal quad) (-> arg1 best-tri normal quad))
|
||||
(collide-shape-moving-angle-set! arg0 sv-84 (-> sv-88 0))
|
||||
(if (< (-> arg0 poly-angle) -0.2)
|
||||
(set! sv-96 (logior sv-96 16))
|
||||
)
|
||||
(let
|
||||
((s3-1
|
||||
(<
|
||||
(fabs (-> arg0 surface-angle))
|
||||
(-> *pat-mode-info* (-> arg0 cur-pat mode) wall-angle)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if s3-1
|
||||
(set! sv-104 (logior sv-104 2))
|
||||
)
|
||||
(when (zero? (logand (-> arg0 prev-status) 1))
|
||||
(set!
|
||||
(-> arg0 ground-impact-vel)
|
||||
(- (vector-dot (-> arg0 transv) (-> arg0 dynam gravity-normal)))
|
||||
)
|
||||
(set! sv-96 (logior sv-96 2048))
|
||||
(when (not s3-1)
|
||||
(let ((f30-0 (- 1.0 (-> arg0 surf impact-fric))))
|
||||
(when (< f30-0 1.0)
|
||||
(let ((s2-1 (new-stack-vector0))
|
||||
(f28-0 (vector-dot (-> arg0 dynam gravity-normal) (-> sv-88 0)))
|
||||
)
|
||||
0.0
|
||||
(vector-!
|
||||
s2-1
|
||||
(-> sv-88 0)
|
||||
(vector-float*! s2-1 (-> arg0 dynam gravity-normal) f28-0)
|
||||
)
|
||||
(let* ((f0-18 (vector-length s2-1))
|
||||
(f1-6 f0-18)
|
||||
)
|
||||
(if (< f28-0 0.0)
|
||||
(set! f28-0 (* f28-0 f30-0))
|
||||
)
|
||||
(vector+!
|
||||
(-> sv-88 0)
|
||||
(vector-float*! (-> sv-88 0) (-> arg0 dynam gravity-normal) f28-0)
|
||||
(vector-float*! s2-1 s2-1 (/ f0-18 f1-6))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! sv-96 (logior sv-96 4))
|
||||
(cond
|
||||
((-> arg1 best-to-prim)
|
||||
(set! sv-96 (logior sv-96 32))
|
||||
(set! (-> arg0 unknown-vector72 quad) (-> arg1 best-tri intersect quad))
|
||||
(set! (-> arg0 unknown-vector73 quad) (-> arg0 poly-normal quad))
|
||||
(set!
|
||||
(-> arg0 unknown-handle00)
|
||||
(process->handle (-> arg1 best-to-prim cshape process))
|
||||
)
|
||||
)
|
||||
((= (-> arg0 poly-pat material) (pat-material waterbottom))
|
||||
)
|
||||
(else
|
||||
(set! sv-96 (logior sv-96 4096))
|
||||
)
|
||||
)
|
||||
(if (and s3-1 (logtest? #x10000 (-> arg0 root-prim prim-core action)))
|
||||
(set! s3-1 #f)
|
||||
)
|
||||
(cond
|
||||
(s3-1
|
||||
(set! sv-104 (logior sv-104 4))
|
||||
(set! sv-96 (logior sv-96 8))
|
||||
(set! (-> arg0 cur-pat mode) 1)
|
||||
(set! (-> arg0 unknown-vector70 quad) (-> arg1 best-tri intersect quad))
|
||||
(set! (-> arg0 unknown-vector71 quad) (-> arg0 poly-normal quad))
|
||||
(set! (-> arg0 unknown-int60) (the-as uint (-> arg1 best-tri pat)))
|
||||
(vector-reflect-flat-above! arg2 (-> sv-88 0) sv-84)
|
||||
(cond
|
||||
((not
|
||||
(and
|
||||
(>=
|
||||
(-> arg1 best-from-prim local-sphere w)
|
||||
(vector-dot
|
||||
(-> arg0 ground-poly-normal)
|
||||
(vector-!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(-> arg1 best-tri intersect)
|
||||
(-> arg0 ground-touch-point)
|
||||
)
|
||||
)
|
||||
)
|
||||
(and
|
||||
(< 0.0 (vector-dot (-> arg0 ground-poly-normal) arg2))
|
||||
(< (- (-> *display* base-frame-counter) (-> arg0 unknown-dword10)) 90)
|
||||
(zero? (logand sv-104 32))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! sv-104 (logior sv-104 256))
|
||||
(set! sv-104 (logand -65 sv-104))
|
||||
(let
|
||||
((s3-3
|
||||
(vector-cross!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(-> arg0 poly-normal)
|
||||
(-> arg0 ground-poly-normal)
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector-normalize! s3-3 1.0)
|
||||
(vector-float*! arg2 s3-3 (vector-dot (-> sv-88 0) s3-3))
|
||||
)
|
||||
(vector+! arg2 arg2 (-> arg0 poly-normal))
|
||||
)
|
||||
)
|
||||
(let*
|
||||
((s2-2
|
||||
(vector-normalize-copy! (new 'stack-no-clear 'vector) (-> sv-88 0) 1.0)
|
||||
)
|
||||
(s3-4 (new-stack-vector0))
|
||||
(f30-1 (vector-dot s2-2 arg2))
|
||||
)
|
||||
0.0
|
||||
(vector-! s3-4 arg2 (vector-float*! s3-4 s2-2 f30-1))
|
||||
(let* ((f1-11 (vector-length s3-4))
|
||||
(f0-27 f1-11)
|
||||
(f1-12 (* 0.9 f1-11))
|
||||
)
|
||||
(vector+!
|
||||
arg2
|
||||
(vector-float*! arg2 s2-2 f30-1)
|
||||
(vector-float*! s3-4 s3-4 (/ f1-12 f0-27))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! sv-96 (logior sv-96 1))
|
||||
(set! (-> arg0 cur-pat mode) 0)
|
||||
(if (and (= (-> arg1 best-from-prim prim-id) 6) (zero? (logand sv-104 7)))
|
||||
(set! (-> arg0 local-normal quad) (-> sv-84 quad))
|
||||
)
|
||||
(vector-reflect-flat! arg2 (-> sv-88 0) sv-84)
|
||||
(dotimes (v1-142 16)
|
||||
(vector+! arg2 arg2 (-> arg0 poly-normal))
|
||||
)
|
||||
(set! sv-96 (logior sv-96 2))
|
||||
(set! (-> arg0 ground-touch-point w) 0.0)
|
||||
(when (zero? (logand sv-104 15))
|
||||
(set! sv-96 (logior sv-96 2))
|
||||
(set! (-> arg0 ground-poly-normal quad) (-> arg0 poly-normal quad))
|
||||
(set! (-> arg0 unknown-vector53 quad) (-> sv-84 quad))
|
||||
(set!
|
||||
(-> arg0 unknown-float60)
|
||||
(vector-dot sv-84 (-> arg0 dynam gravity-normal))
|
||||
)
|
||||
(set! (-> arg0 unknown-dword10) (-> *display* base-frame-counter))
|
||||
(set! (-> arg0 ground-pat) (-> arg0 poly-pat))
|
||||
(set! (-> arg0 ground-touch-point quad) (-> arg1 best-tri intersect quad))
|
||||
(set! sv-104 (logior sv-104 2048))
|
||||
(if (= (-> arg0 poly-pat material) (pat-material waterbottom))
|
||||
(set! sv-96 (logior sv-96 1024))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(logior! (-> arg0 status) sv-96)
|
||||
(set! (-> arg0 reaction-flag) (the-as uint sv-104))
|
||||
(update!
|
||||
(-> arg0 history-data (-> arg0 unknown-halfword00))
|
||||
arg0
|
||||
(-> arg1 best-tri intersect)
|
||||
(-> sv-88 1)
|
||||
arg2
|
||||
)
|
||||
(set!
|
||||
(-> arg0 unknown-halfword00)
|
||||
(logand (+ (-> arg0 unknown-halfword00) 1) 127)
|
||||
)
|
||||
sv-96
|
||||
(none)
|
||||
)
|
||||
Generated
Vendored
+27
-44
@@ -63,10 +63,10 @@
|
||||
)
|
||||
(target-attacked
|
||||
arg2
|
||||
(-> arg3 param 1)
|
||||
(the-as uint arg0)
|
||||
(the-as attack-info (-> arg3 param 1))
|
||||
arg0
|
||||
(the-as process (-> arg3 param 0))
|
||||
(the-as (state target) target-racing-hit)
|
||||
target-racing-hit
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -269,13 +269,7 @@
|
||||
)
|
||||
)
|
||||
(set! (-> self control surf) *race-track-surface*)
|
||||
(set!
|
||||
(-> self control reaction)
|
||||
(the-as
|
||||
(function collide-shape-moving collide-shape-intersect vector vector none)
|
||||
racer-collision-reaction
|
||||
)
|
||||
)
|
||||
(set! (-> self control reaction) racer-collision-reaction)
|
||||
(vector-reset! (-> self racer rot))
|
||||
(set! (-> self racer rot y) (y-angle (-> self control)))
|
||||
(target-collide-set! 'racer 0.0)
|
||||
@@ -1573,10 +1567,7 @@
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-racing-hit (target)
|
||||
:event
|
||||
(the-as
|
||||
(function process int symbol event-message-block object :behavior target)
|
||||
target-generic-event-handler
|
||||
)
|
||||
target-generic-event-handler
|
||||
:enter
|
||||
(behavior ((arg0 handle) (arg1 attack-info))
|
||||
(let ((v1-0 (-> self attack-info)))
|
||||
@@ -2219,10 +2210,7 @@
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-racing-get-on (target)
|
||||
:event
|
||||
(the-as
|
||||
(function process int symbol event-message-block object :behavior target)
|
||||
target-generic-event-handler
|
||||
)
|
||||
target-generic-event-handler
|
||||
:exit
|
||||
(-> target-racing-start exit)
|
||||
:code
|
||||
@@ -2247,8 +2235,8 @@
|
||||
(-> self control unknown-quaternion00)
|
||||
)
|
||||
(set!
|
||||
(-> self control unknown-float120)
|
||||
(-> self control unknown-vector11 y)
|
||||
(-> self control unknown-uint20)
|
||||
(the-as uint (-> self control unknown-vector11 y))
|
||||
)
|
||||
(let* ((s3-0 (handle->process arg0))
|
||||
(s4-1
|
||||
@@ -2271,7 +2259,7 @@
|
||||
)
|
||||
(set! (-> self racer bike-scale quad) (-> s4-1 root-override scale quad))
|
||||
(set!
|
||||
(-> self control unknown-int20)
|
||||
(-> self control unknown-int21)
|
||||
(the-as int (-> self racer bike-trans y))
|
||||
)
|
||||
)
|
||||
@@ -2536,7 +2524,7 @@
|
||||
(set!
|
||||
(-> self control unknown-vector11 y)
|
||||
(lerp
|
||||
(-> self control unknown-float120)
|
||||
(the-as float (-> self control unknown-uint20))
|
||||
(-> self racer cushion-base)
|
||||
f30-1
|
||||
)
|
||||
@@ -2544,8 +2532,8 @@
|
||||
(set!
|
||||
(-> self racer bike-trans y)
|
||||
(lerp
|
||||
(-> self control unknown-float121)
|
||||
(+ 4096.0 (-> self control unknown-float121))
|
||||
(the-as float (-> self control unknown-uint30))
|
||||
(+ 4096.0 (the-as float (-> self control unknown-uint30)))
|
||||
f30-1
|
||||
)
|
||||
)
|
||||
@@ -2559,10 +2547,7 @@
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-racing-get-off (target)
|
||||
:event
|
||||
(the-as
|
||||
(function process int symbol event-message-block object :behavior target)
|
||||
target-generic-event-handler
|
||||
)
|
||||
target-generic-event-handler
|
||||
:exit
|
||||
(-> target-racing-start exit)
|
||||
:code
|
||||
@@ -2659,10 +2644,7 @@
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-racing-get-off-jump (target)
|
||||
:event
|
||||
(the-as
|
||||
(function process int symbol event-message-block object :behavior target)
|
||||
target-generic-event-handler
|
||||
)
|
||||
target-generic-event-handler
|
||||
:exit
|
||||
(-> target-racing-start exit)
|
||||
:code
|
||||
@@ -2691,8 +2673,8 @@
|
||||
(-> self control unknown-quaternion00)
|
||||
)
|
||||
(set!
|
||||
(-> self control unknown-float120)
|
||||
(-> self control unknown-vector11 y)
|
||||
(-> self control unknown-uint20)
|
||||
(the-as uint (-> self control unknown-vector11 y))
|
||||
)
|
||||
(let* ((s2-0 (handle->process arg0))
|
||||
(s3-0
|
||||
@@ -2719,7 +2701,7 @@
|
||||
)
|
||||
(set! (-> self racer bike-scale quad) (-> s3-0 root-override scale quad))
|
||||
(set!
|
||||
(-> self control unknown-int20)
|
||||
(-> self control unknown-int21)
|
||||
(the-as int (-> self racer bike-trans y))
|
||||
)
|
||||
)
|
||||
@@ -2927,7 +2909,11 @@
|
||||
)
|
||||
(set!
|
||||
(-> self control unknown-vector11 y)
|
||||
(lerp (-> self control unknown-float120) 6144.0 (fmin 1.0 (* 2.0 f30-0)))
|
||||
(lerp
|
||||
(the-as float (-> self control unknown-uint20))
|
||||
6144.0
|
||||
(fmin 1.0 (* 2.0 f30-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector+!
|
||||
@@ -2949,10 +2935,7 @@
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-racing-get-off-hit-ground (target)
|
||||
:event
|
||||
(the-as
|
||||
(function process int symbol event-message-block object :behavior target)
|
||||
target-standard-event-handler
|
||||
)
|
||||
target-standard-event-handler
|
||||
:enter
|
||||
(-> target-hit-ground enter)
|
||||
:trans
|
||||
@@ -3130,7 +3113,7 @@
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore))
|
||||
(set! (-> self control unknown-float120) (the-as float #f))
|
||||
(set! (-> self control unknown-uint20) (the-as uint #f))
|
||||
)
|
||||
((-> target-racing-grab event) arg0 arg1 arg2 arg3)
|
||||
)
|
||||
@@ -3140,7 +3123,7 @@
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self control unknown-vector11 y)
|
||||
(-> self control unknown-float120)
|
||||
(the-as float (-> self control unknown-uint20))
|
||||
)
|
||||
(set!
|
||||
(-> self control unknown-vector12 y)
|
||||
@@ -3155,8 +3138,8 @@
|
||||
:code
|
||||
(behavior ((arg0 handle))
|
||||
(set!
|
||||
(-> self control unknown-float120)
|
||||
(-> self control unknown-vector11 y)
|
||||
(-> self control unknown-uint20)
|
||||
(the-as uint (-> self control unknown-vector11 y))
|
||||
)
|
||||
(set! (-> self control unknown-vector11 y) 0.0)
|
||||
(send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim)
|
||||
|
||||
+1
-1
@@ -72,7 +72,7 @@
|
||||
target-jump
|
||||
(-> *TARGET-bank* duck-jump-height-min)
|
||||
(-> *TARGET-bank* duck-jump-height-max)
|
||||
#f
|
||||
(the-as surface #f)
|
||||
)
|
||||
)
|
||||
(else
|
||||
|
||||
+5
-8
@@ -887,15 +887,12 @@ swamp-bat-slave-event-handler
|
||||
(deactivate self)
|
||||
)
|
||||
(swamp-bat-update-path)
|
||||
(let ((s5-0 (method-of-object (-> self vol) dummy-10)))
|
||||
(target-pos 5)
|
||||
(if
|
||||
(or
|
||||
(s5-0)
|
||||
(not (swamp-bat-check-slave-paths-match? (-> self path-select)))
|
||||
)
|
||||
(go swamp-bat-launch-slaves)
|
||||
(if
|
||||
(or
|
||||
(dummy-10 (-> self vol) (target-pos 5))
|
||||
(not (swamp-bat-check-slave-paths-match? (-> self path-select)))
|
||||
)
|
||||
(go swamp-bat-launch-slaves)
|
||||
)
|
||||
)
|
||||
(let ((gp-1 (new 'static 'matrix)))
|
||||
|
||||
@@ -349,6 +349,6 @@ TEST(GoosReader, TextDb) {
|
||||
.as_pair()
|
||||
->cdr.as_pair()
|
||||
->car;
|
||||
std::string expected = "test/test_data/test_reader_file0.gc, line: 5\n(1 2 3 4)\n ^\n";
|
||||
std::string expected = "test/test_data/test_reader_file0.gc:5\n(1 2 3 4)\n ^\n";
|
||||
EXPECT_EQ(expected, reader.db.get_info_for(result));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user