mirror of
https://github.com/open-goal/jak-project
synced 2026-08-09 18:58:50 -04:00
[decomp] fisher and FIN.DGO (finalboss) level (#899)
* decomp `fisher`, `robotboss`, `light-eco`, `green-eco-lurker`, `sage-finalboss`, `robotboss-weapon`, `robotboss-misc` * fixes * add files * add `:states` list to `deftype` and fix files * test state forward decl's on a few more types * also the refs * add light-eco * whatever
This commit is contained in:
@@ -246,6 +246,21 @@ std::string Type::common_type_info_diff(const Type& other) const {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (m_states != other.m_states) {
|
||||
if (m_states.size() != other.m_states.size()) {
|
||||
result += fmt::format("Number of additional states {} vs. {}\n", m_states.size(),
|
||||
other.m_states.size());
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < std::min(m_states.size(), other.m_states.size()); i++) {
|
||||
if (m_states.at(i) != other.m_states.at(i)) {
|
||||
result +=
|
||||
fmt::format("State {} ({}/{}):\n", i, m_states.at(i).name, other.m_states.at(i).name);
|
||||
result += m_states.at(i).diff(other.m_states.at(i));
|
||||
result += "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
if (m_new_method_info != other.m_new_method_info) {
|
||||
result += m_new_method_info.diff(other.m_new_method_info);
|
||||
}
|
||||
@@ -381,6 +396,27 @@ std::string Type::print_method_info() const {
|
||||
return result;
|
||||
}
|
||||
|
||||
const StateInfo& Type::add_state(const StateInfo& info) {
|
||||
m_states.push_back(info);
|
||||
return m_states.back();
|
||||
}
|
||||
|
||||
bool StateInfo::operator==(const StateInfo& other) const {
|
||||
return name == other.name && type == other.type;
|
||||
}
|
||||
|
||||
std::string StateInfo::diff(const StateInfo& other) const {
|
||||
std::string result;
|
||||
if (name != other.name) {
|
||||
result += fmt::format("name: {} vs. {}\n", name, other.name);
|
||||
}
|
||||
|
||||
if (type != other.type) {
|
||||
result += fmt::format("type: {} vs. {}\n", type.print(), other.type.print());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
std::string Type::incompatible_diff(const Type& other) const {
|
||||
return fmt::format("diff is not implemented between {} and {}\n", typeid((*this)).name(),
|
||||
typeid(other).name());
|
||||
@@ -1067,4 +1103,4 @@ std::string EnumType::diff_impl(const Type& other_) const {
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,15 @@ struct MethodInfo {
|
||||
std::string diff(const MethodInfo& other) const;
|
||||
};
|
||||
|
||||
struct StateInfo {
|
||||
std::string name;
|
||||
TypeSpec type;
|
||||
|
||||
bool operator==(const StateInfo& other) const;
|
||||
bool operator!=(const StateInfo& other) const { return !((*this) == other); }
|
||||
std::string diff(const StateInfo& other) const;
|
||||
};
|
||||
|
||||
/*!
|
||||
* Parent class of all Types.
|
||||
*/
|
||||
@@ -80,12 +89,14 @@ class Type {
|
||||
const MethodInfo& add_method(const MethodInfo& info);
|
||||
const MethodInfo& add_new_method(const MethodInfo& info);
|
||||
std::string print_method_info() const;
|
||||
const StateInfo& add_state(const StateInfo& info);
|
||||
|
||||
void disallow_in_runtime() { m_allow_in_runtime = false; }
|
||||
|
||||
virtual ~Type() = default;
|
||||
|
||||
const std::vector<MethodInfo>& get_methods_defined_for_type() const { return m_methods; }
|
||||
const std::vector<StateInfo>& get_states_declared_for_type() const { return m_states; }
|
||||
|
||||
const MethodInfo* get_new_method_defined_for_type() const {
|
||||
if (m_new_method_info_defined) {
|
||||
@@ -105,6 +116,7 @@ class Type {
|
||||
std::string incompatible_diff(const Type& other) const;
|
||||
|
||||
std::vector<MethodInfo> m_methods;
|
||||
std::vector<StateInfo> m_states;
|
||||
MethodInfo m_new_method_info;
|
||||
bool m_new_method_info_defined = false;
|
||||
|
||||
|
||||
@@ -1692,6 +1692,26 @@ std::string TypeSystem::generate_deftype_footer(const Type* type) const {
|
||||
result.append(")\n ");
|
||||
}
|
||||
|
||||
std::string states_string;
|
||||
for (auto& info : type->get_states_declared_for_type()) {
|
||||
if (info.type.arg_count() > 1) {
|
||||
states_string.append(fmt::format(" ({}", info.name));
|
||||
for (size_t i = 0; i < info.type.arg_count() - 1; i++) {
|
||||
states_string.push_back(' ');
|
||||
states_string.append(info.type.get_arg(i).print());
|
||||
}
|
||||
states_string.append(")\n");
|
||||
} else {
|
||||
states_string.append(fmt::format(" {}\n", info.name));
|
||||
}
|
||||
}
|
||||
|
||||
if (!states_string.empty()) {
|
||||
result.append("(:states\n");
|
||||
result.append(states_string);
|
||||
result.append(" )\n ");
|
||||
}
|
||||
|
||||
result.append(")\n");
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -243,6 +243,34 @@ void declare_method(Type* type, TypeSystem* type_system, const goos::Object& def
|
||||
});
|
||||
}
|
||||
|
||||
void declare_state(Type* type, TypeSystem* type_system, const goos::Object& def) {
|
||||
for_each_in_list(def, [&](const goos::Object& _obj) {
|
||||
auto obj = &_obj;
|
||||
if (obj->is_list()) {
|
||||
// (name ,@args)
|
||||
auto state_name = symbol_string(car(obj));
|
||||
auto args = cdr(obj);
|
||||
|
||||
TypeSpec state_typespec("state");
|
||||
|
||||
for_each_in_list(*args, [&](const goos::Object& o) {
|
||||
state_typespec.add_arg(parse_typespec(type_system, o));
|
||||
});
|
||||
state_typespec.add_arg(TypeSpec(type->get_name()));
|
||||
|
||||
type->add_state({state_name, state_typespec});
|
||||
} else {
|
||||
// name
|
||||
auto state_name = symbol_string(*obj);
|
||||
|
||||
TypeSpec state_typespec("state");
|
||||
state_typespec.add_arg(TypeSpec(type->get_name()));
|
||||
|
||||
type->add_state({state_name, state_typespec});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
struct StructureDefResult {
|
||||
TypeFlags flags;
|
||||
bool generate_runtime_type = true;
|
||||
@@ -274,8 +302,11 @@ StructureDefResult parse_structure_def(StructureType* type,
|
||||
auto& first = car(opt_list);
|
||||
opt_list = cdr(opt_list);
|
||||
|
||||
if (symbol_string(first) == ":methods") {
|
||||
auto list_name = symbol_string(first);
|
||||
if (list_name == ":methods") {
|
||||
declare_method(type, ts, *opt_list);
|
||||
} else if (list_name == ":states") {
|
||||
declare_state(type, ts, *opt_list);
|
||||
} else {
|
||||
throw std::runtime_error("Invalid option list in field specification: " +
|
||||
car(rest).print());
|
||||
|
||||
@@ -1385,10 +1385,11 @@ TypeState StackSpillLoadOp::propagate_types_internal(const TypeState& input,
|
||||
const Env& env,
|
||||
DecompilerTypeSystem&) {
|
||||
// stack slot load
|
||||
auto info = env.stack_spills().lookup(m_offset);
|
||||
auto& info = env.stack_spills().lookup(m_offset);
|
||||
if (info.size != m_size) {
|
||||
env.func->warnings.general_warning("Stack slot load mismatch: defined as size {}, got size {}",
|
||||
info.size, m_size);
|
||||
env.func->warnings.general_warning(
|
||||
"Stack slot load at {} mismatch: defined as size {}, got size {}", m_offset, info.size,
|
||||
m_size);
|
||||
}
|
||||
|
||||
if (info.is_signed != m_is_signed) {
|
||||
@@ -1404,7 +1405,7 @@ TypeState StackSpillLoadOp::propagate_types_internal(const TypeState& input,
|
||||
TypeState StackSpillStoreOp::propagate_types_internal(const TypeState& input,
|
||||
const Env& env,
|
||||
DecompilerTypeSystem& dts) {
|
||||
auto info = env.stack_spills().lookup(m_offset);
|
||||
auto& info = env.stack_spills().lookup(m_offset);
|
||||
if (info.size != m_size) {
|
||||
env.func->warnings.general_warning(
|
||||
"Stack slot store mismatch: defined as size {}, got size {}\n", info.size, m_size);
|
||||
|
||||
+529
-803
File diff suppressed because it is too large
Load Diff
@@ -579,7 +579,7 @@
|
||||
[3, "(function basic symbol)"],
|
||||
[2, "(function process symbol)"]
|
||||
],
|
||||
|
||||
|
||||
"anim-tester": [
|
||||
[11, "(function none :behavior anim-tester)"],
|
||||
[12, "(function none :behavior anim-tester)"],
|
||||
@@ -590,7 +590,7 @@
|
||||
[1, "(function none :behavior camera-combiner)"],
|
||||
[2, "(function basic int basic event-message-block object :behavior camera-combiner)"]
|
||||
],
|
||||
|
||||
|
||||
"title-obs": [
|
||||
[0, "(function none)"]
|
||||
],
|
||||
@@ -669,7 +669,7 @@
|
||||
[2, "(function sparticle-launch-group :behavior oracle)"],
|
||||
[3, "(function none :behavior oracle)"]
|
||||
],
|
||||
|
||||
|
||||
"time-of-day": [
|
||||
[10, "(function none :behavior time-of-day-proc)"],
|
||||
[12, "(function sparticle-system sparticle-cpuinfo none)"]
|
||||
@@ -757,5 +757,39 @@
|
||||
[6, "(function sparticle-system sparticle-cpuinfo none)"]
|
||||
],
|
||||
|
||||
"fisher-JUN": [
|
||||
[27, "(function none :behavior process)"],
|
||||
[28, "(function none :behavior fisher)"],
|
||||
[20, "(function none :behavior fisher-fish)"],
|
||||
[1, "(function none :behavior target)"]
|
||||
],
|
||||
"fisher-JUNGLE-L1": [
|
||||
[27, "(function none :behavior process)"],
|
||||
[28, "(function none :behavior fisher)"],
|
||||
[20, "(function none :behavior fisher-fish)"],
|
||||
[1, "(function none :behavior target)"]
|
||||
],
|
||||
|
||||
"robotboss-misc": [
|
||||
[5, "(function sparticle-launch-control :behavior finalbosscam)"]
|
||||
],
|
||||
|
||||
"sage-finalboss-FIN": [
|
||||
[21, "(function none :behavior sage-finalboss)"],
|
||||
[22, "(function none :behavior sage-finalboss)"],
|
||||
[15, "(function final-door symbol)"],
|
||||
[16, "(function final-door symbol)"],
|
||||
[7, "(function final-door symbol)"],
|
||||
[6, "(function final-door symbol)"]
|
||||
],
|
||||
"sage-finalboss-L1": [
|
||||
[21, "(function none :behavior sage-finalboss)"],
|
||||
[22, "(function none :behavior sage-finalboss)"],
|
||||
[15, "(function final-door symbol)"],
|
||||
[16, "(function final-door symbol)"],
|
||||
[7, "(function final-door symbol)"],
|
||||
[6, "(function final-door symbol)"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -353,9 +353,6 @@
|
||||
"(method 27 ropebridge)",
|
||||
|
||||
// all unchecked and in level DGO code
|
||||
"(anon-function 11 robotboss)",
|
||||
"(anon-function 18 robotboss)",
|
||||
"(anon-function 49 robotboss)",
|
||||
"(anon-function 21 plant-boss)",
|
||||
"(anon-function 10 ice-cube)",
|
||||
"(anon-function 15 ice-cube)",
|
||||
|
||||
@@ -868,6 +868,159 @@
|
||||
["L670", "uint64", true]
|
||||
],
|
||||
|
||||
"fisher-JUN": [
|
||||
["L262", "vector"],
|
||||
["L463", "(array (inline-array fisher-params))"]
|
||||
],
|
||||
"fisher-JUNGLE-L1": [
|
||||
["L262", "vector"],
|
||||
["L463", "(array (inline-array fisher-params))"]
|
||||
],
|
||||
|
||||
"robotboss-weapon": [
|
||||
["L122", "attack-info"],
|
||||
["L127", "attack-info"],
|
||||
["L138", "attack-info"],
|
||||
["L144", "vector4w"],
|
||||
["L145", "vector"]
|
||||
],
|
||||
|
||||
"robotboss-misc": [
|
||||
["L99", "vector"]
|
||||
],
|
||||
|
||||
"robotboss": [
|
||||
["L646", "attack-info"],
|
||||
["L647", "attack-info"],
|
||||
["L651", "vector"],
|
||||
["L654", "vector"],
|
||||
["L655", "vector"],
|
||||
["L656", "vector"],
|
||||
["L657", "vector"],
|
||||
["L658", "vector"],
|
||||
["L659", "vector"],
|
||||
["L660", "vector"],
|
||||
["L661", "vector"],
|
||||
["L662", "vector"],
|
||||
["L678", "vector"],
|
||||
["L669", "vector"],
|
||||
["L701", "vector"],
|
||||
["L702", "vector"],
|
||||
["L703", "vector"],
|
||||
["L705", "vector"],
|
||||
["L642", "robotboss-dda"],
|
||||
["L643", "robotboss-dda"],
|
||||
["L644", "robotboss-dda"],
|
||||
["L645", "robotboss-dda"],
|
||||
["L632", "robotboss-dda"],
|
||||
["L713", "float", true],
|
||||
["L714", "float", true],
|
||||
["L715", "float", true],
|
||||
["L716", "float", true],
|
||||
["L717", "float", true],
|
||||
["L718", "float", true],
|
||||
["L719", "float", true],
|
||||
["L720", "float", true],
|
||||
["L721", "float", true],
|
||||
["L722", "float", true],
|
||||
["L723", "float", true],
|
||||
["L724", "float", true],
|
||||
["L725", "float", true],
|
||||
["L726", "float", true],
|
||||
["L727", "float", true],
|
||||
["L728", "float", true],
|
||||
["L729", "float", true],
|
||||
["L730", "float", true],
|
||||
["L731", "float", true],
|
||||
["L732", "float", true],
|
||||
["L733", "float", true],
|
||||
["L734", "float", true],
|
||||
["L735", "float", true],
|
||||
["L736", "float", true],
|
||||
["L737", "float", true],
|
||||
["L738", "float", true],
|
||||
["L739", "float", true],
|
||||
["L740", "float", true],
|
||||
["L741", "float", true],
|
||||
["L742", "float", true],
|
||||
["L743", "float", true],
|
||||
["L744", "float", true],
|
||||
["L745", "float", true],
|
||||
["L746", "float", true],
|
||||
["L747", "float", true],
|
||||
["L748", "float", true],
|
||||
["L749", "float", true],
|
||||
["L750", "float", true],
|
||||
["L751", "float", true],
|
||||
["L752", "float", true],
|
||||
["L753", "float", true],
|
||||
["L754", "float", true],
|
||||
["L755", "float", true],
|
||||
["L756", "float", true],
|
||||
["L757", "float", true],
|
||||
["L758", "float", true],
|
||||
["L759", "float", true],
|
||||
["L760", "float", true],
|
||||
["L761", "float", true],
|
||||
["L762", "float", true],
|
||||
["L763", "float", true],
|
||||
["L764", "float", true],
|
||||
["L765", "float", true],
|
||||
["L766", "float", true],
|
||||
["L767", "float", true],
|
||||
["L768", "(pointer float)", 1],
|
||||
["L769", "float", true],
|
||||
["L770", "float", true],
|
||||
["L771", "float", true],
|
||||
["L772", "float", true],
|
||||
["L773", "float", true],
|
||||
["L774", "float", true],
|
||||
["L775", "float", true],
|
||||
["L776", "float", true],
|
||||
["L777", "float", true],
|
||||
["L778", "float", true],
|
||||
["L779", "float", true],
|
||||
["L780", "float", true],
|
||||
["L781", "float", true],
|
||||
["L782", "float", true],
|
||||
["L783", "float", true],
|
||||
["L784", "float", true],
|
||||
["L785", "float", true],
|
||||
["L786", "float", true],
|
||||
["L787", "float", true],
|
||||
["L788", "float", true],
|
||||
["L789", "float", true],
|
||||
["L790", "float", true],
|
||||
["L791", "float", true],
|
||||
["L792", "float", true],
|
||||
["L793", "float", true],
|
||||
["L794", "float", true],
|
||||
["L795", "float", true],
|
||||
["L796", "float", true],
|
||||
["L797", "float", true],
|
||||
["L798", "float", true],
|
||||
["L799", "float", true],
|
||||
["L800", "float", true],
|
||||
["L801", "uint64", true],
|
||||
["L802", "uint64", true],
|
||||
["L803", "uint64", true],
|
||||
["L804", "uint64", true],
|
||||
["L814", "float", true],
|
||||
["L815", "uint64", true],
|
||||
["L816", "uint64", true]
|
||||
],
|
||||
|
||||
"sage-finalboss-FIN": [
|
||||
["L528", "vector"],
|
||||
["L272", "vector"],
|
||||
["L527", "quaternion"]
|
||||
],
|
||||
"sage-finalboss-L1": [
|
||||
["L528", "vector"],
|
||||
["L272", "vector"],
|
||||
["L527", "quaternion"]
|
||||
],
|
||||
|
||||
// please do not add things after this entry! git is dumb.
|
||||
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
|
||||
}
|
||||
|
||||
@@ -1855,7 +1855,7 @@
|
||||
"(method 11 wall-plat)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
|
||||
"(code plunger-lurker-plunge)": [[16, "event-message-block"]],
|
||||
"(event flying-lurker-fly)": [[16, "event-message-block"]],
|
||||
"(trans flying-lurker-fly)": [[16, "event-message-block"]],
|
||||
@@ -1882,7 +1882,7 @@
|
||||
[144, "vector"],
|
||||
[160, "vector"]
|
||||
],
|
||||
|
||||
|
||||
"(method 18 collide-cache)": [[16, "collide-cache-prim"]],
|
||||
|
||||
"kill-current-level-hint": [[16, "event-message-block"]],
|
||||
@@ -1917,7 +1917,7 @@
|
||||
|
||||
"sparticle-60-to-50":[
|
||||
[16, "quaternion"]
|
||||
],
|
||||
],
|
||||
|
||||
"sp-orbiter":[
|
||||
[16, "vector"],
|
||||
@@ -2741,7 +2741,7 @@
|
||||
[128, "vector"],
|
||||
[144, "vector"]
|
||||
],
|
||||
|
||||
|
||||
"(method 11 effect-control)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
@@ -2796,5 +2796,206 @@
|
||||
[16,["inline-array", "sky-vertex", 12]]
|
||||
],
|
||||
|
||||
"fisher-fish-move": [[16, "vector"]],
|
||||
"fisher-fish-water": [[16, "vector"]],
|
||||
"(trans play-accept fisher)": [[16, "vector"]],
|
||||
"(method 11 fisher)": [[16, "vector"]],
|
||||
"(code fisher-fish-caught)": [[16, "event-message-block"]],
|
||||
"(code fisher-fish-die)": [[16, "event-message-block"]],
|
||||
"(exit fisher-done)": [[16, "event-message-block"]],
|
||||
"(enter fisher-done)": [[16, "event-message-block"]],
|
||||
"(event fisher-playing)": [[16, "event-message-block"]],
|
||||
"(enter fisher-playing)": [[16, "event-message-block"]],
|
||||
"(exit fisher-playing)": [[16, "event-message-block"]],
|
||||
"(trans enter-playing fisher)": [[16, "event-message-block"]],
|
||||
"(code target-fishing)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"],
|
||||
[112, "quaternion"],
|
||||
[128, "quaternion"],
|
||||
[144, "quaternion"]
|
||||
],
|
||||
"(method 43 fisher)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"fisher-draw-display": [[16, "font-context"]],
|
||||
|
||||
"(method 10 torus)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"(method 12 torus)": [[16, "matrix"]],
|
||||
"redshot-trans": [[16, "matrix"]],
|
||||
"(trans redshot-explode)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
"(code darkecobomb-explode)": [[16, "event-message-block"]],
|
||||
"(event yellowshot-idle)": [[16, "event-message-block"]],
|
||||
"(trans yellowshot-idle)": [[16, "event-message-block"]],
|
||||
"(trans darkecobomb-countdown)": [[16, "vector"]],
|
||||
|
||||
"arcing-shot-draw": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(method 9 torus)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "matrix"],
|
||||
[128, ["inline-array", "vector", 8]]
|
||||
],
|
||||
|
||||
"(method 32 finalbosscam)": [[16, "event-message-block"]],
|
||||
|
||||
"(code cam-robotboss)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"ecoclaw-beam-particle-callback": [[16, "vector"]],
|
||||
"robotboss-manipy-trans-hook": [[16, "vector"]],
|
||||
"robotboss-redshot": [[16, "vector"]],
|
||||
"robotboss-cut-cam": [[16, "vector"]],
|
||||
|
||||
"robotboss-yellowshot": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "event-message-block"]
|
||||
],
|
||||
|
||||
"(trans robotboss-white-eco-movie)": [[16, "vector"]],
|
||||
|
||||
"(code robotboss-red-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "redshot-launch-array"]
|
||||
],
|
||||
|
||||
"(trans robotboss-yellow-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-setup-for-hits": [
|
||||
[16, "sphere"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-position": [
|
||||
[16, "vector"],
|
||||
[32, "matrix"],
|
||||
[96, "event-message-block"],
|
||||
[176, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-shooting-trans": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-darkecobomb": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-redshot-fill-array": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-blue-beam": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "collide-mesh-cache-tri"],
|
||||
[160, "vector"],
|
||||
[176, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-bomb-handler": [[16, "event-message-block"]],
|
||||
"robotboss-blue-done": [[16, "event-message-block"]],
|
||||
"(exit robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
"(enter robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-green-wait)": [[16, "event-message-block"]],
|
||||
"(event robotboss-green-wait)": [[16, "event-message-block"]],
|
||||
|
||||
"(trans robotboss-red-wait)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(exit robotboss-red-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-yellow-wait)": [[16, "event-message-block"]],
|
||||
"(code robotboss-white-eco-movie)": [[16, "event-message-block"]],
|
||||
"(event robotboss-yellow-dark-bomb-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-yellow-dark-bomb-wait)": [[16, "event-message-block"]],
|
||||
"(code robotboss-daxter-sacrifice-movie)": [[16, "event-message-block"]],
|
||||
|
||||
"robotboss-greenshot": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(trans robotboss-blue-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
|
||||
"(code robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
|
||||
"(method 44 green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(method 72 green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(enter nav-enemy-die green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(event spawn-minions)": [[16, "event-message-block"]],
|
||||
"(method 51 green-eco-lurker)": [[16, "vector"]],
|
||||
"(enter green-eco-lurker-appear)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"(code spawn-minions)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"check-drop-level-lighteco-big-pops": [[16, "vector"]],
|
||||
"check-drop-level-lighteco-pops": [[16, "vector"]],
|
||||
"(method 20 light-eco-child)": [[16, "vector"]],
|
||||
"light-eco-child-default-event-handler": [[16, "event-message-block"]],
|
||||
"(code light-eco-child-die)": [[16, "event-message-block"]],
|
||||
"light-eco-mother-default-event-handler": [[16, "event-message-block"]],
|
||||
"(trans light-eco-child-hit-ground)": [[16, "vector"]],
|
||||
"(method 21 light-eco-mother)": [[16, "vector"]],
|
||||
"(method 20 light-eco-mother)": [[16, "vector"]],
|
||||
|
||||
"(trans plat-path-active plat-eco-finalboss)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "event-message-block"]
|
||||
],
|
||||
"(method 44 sage-finalboss)": [[16, "event-message-block"]],
|
||||
"(method 45 sage-finalboss)": [[16, "event-message-block"]],
|
||||
"(method 32 sage-finalboss)": [[16, "event-message-block"]],
|
||||
"(exit play-anim sage-finalboss)": [[16, "event-message-block"]],
|
||||
"sage-finalboss-extra-trans": [[16, "event-message-block"]],
|
||||
"sage-finalboss-extra-enter": [[16, "event-message-block"]],
|
||||
"(trans play-anim sage-finalboss)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"],
|
||||
[112, "vector"],
|
||||
[128, "vector"],
|
||||
[144, "vector"],
|
||||
[160, "vector"],
|
||||
[176, "vector"],
|
||||
[192, "vector"],
|
||||
[208, "vector"],
|
||||
[224, "vector"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below!": []
|
||||
}
|
||||
|
||||
@@ -3961,7 +3961,7 @@
|
||||
[111, "s2", "(pointer gs-tex1)"],
|
||||
[113, "s2", "(pointer gs-reg64)"],
|
||||
[115, "s2", "(pointer gs-clamp)"],
|
||||
[117, "s2", "(pointer gs-reg64)"],
|
||||
[117, "s2", "(pointer gs-reg64)"],
|
||||
[118, "s2", "(pointer uint64)"],
|
||||
[120, "s2", "(pointer gs-reg64)"],
|
||||
[[159, 166], "s3", "dma-packet"],
|
||||
@@ -4063,5 +4063,273 @@
|
||||
[[75, 78], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"fisher-fish-move": [
|
||||
[9, "v1", "fisher"],
|
||||
[21, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-fall)": [
|
||||
[5, "v1", "fisher"],
|
||||
[60, "v1", "fisher"],
|
||||
[79, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-caught)": [
|
||||
[169, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-die)": [
|
||||
[35, "v1", "fisher"],
|
||||
[47, "v1", "fisher"],
|
||||
[90, "v1", "fisher"],
|
||||
[98, "v1", "fisher"],
|
||||
[112, "v1", "fisher"],
|
||||
[129, "v1", "fisher"],
|
||||
[137, "v1", "fisher"],
|
||||
[151, "v1", "fisher"],
|
||||
[165, "v1", "fisher"],
|
||||
[179, "v1", "fisher"],
|
||||
[193, "v1", "fisher"],
|
||||
[205, "v1", "fisher"],
|
||||
[209, "v1", "fisher"],
|
||||
[27, "v1", "float"],
|
||||
[79, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 38 fisher)": [
|
||||
[33, "t9", "(function fisher none)"]
|
||||
],
|
||||
|
||||
"(enter fisher-done)": [
|
||||
[137, "f0", "float"],
|
||||
[148, "f0", "float"],
|
||||
[213, "f0", "float"]
|
||||
],
|
||||
|
||||
"fisher-spawn-ambient": [
|
||||
[8, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 43 fisher)": [
|
||||
[27, "v1", "float"],
|
||||
[69, "v1", "float"]
|
||||
],
|
||||
|
||||
"(trans play-accept fisher)": [
|
||||
[101, "v0", "state"]
|
||||
],
|
||||
|
||||
"(trans idle fisher)": [
|
||||
[4, "v0", "state"]
|
||||
],
|
||||
|
||||
"(code idle fisher)": [
|
||||
[132, "v1", "art-joint-anim"],
|
||||
[35, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code target-fishing)": [
|
||||
[163, "v1", "fisher"],
|
||||
[290, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(method 11 torus)": [
|
||||
[[5, 22], "s4", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(method 12 torus)": [
|
||||
[11, "v1", "float"],
|
||||
[51, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-countdown)": [
|
||||
[25, "v1", "art-joint-anim"],
|
||||
[75, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-land)": [
|
||||
[36, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-idle)": [
|
||||
[10, "v1", "art-joint-anim"],
|
||||
[60, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"redshot-particle-callback": [
|
||||
[2, "v1", "(pointer redshot)"]
|
||||
],
|
||||
|
||||
"(event cam-robotboss)": [
|
||||
[5, "v1", "vector"]
|
||||
],
|
||||
|
||||
"ecoclaw-handler": [
|
||||
[73, "v1", "vector"]
|
||||
],
|
||||
|
||||
"(event idle silodoor)": [
|
||||
[4, "v1", "float"]
|
||||
],
|
||||
|
||||
"ecoclaw-beam-particle-callback": [
|
||||
[1, "a0", "(pointer projectile)"],
|
||||
[3, "a0", "(pointer projectile)"]
|
||||
],
|
||||
|
||||
"(method 32 finalbosscam)": [
|
||||
[156, "v1", "robotboss"]
|
||||
],
|
||||
|
||||
"(trans ecoclaw-activate)": [
|
||||
[30, "a0", "part-tracker"]
|
||||
],
|
||||
|
||||
"robotboss-position": [
|
||||
[109, "a0", "process-drawable"]
|
||||
],
|
||||
|
||||
"robotboss-bomb-handler": [
|
||||
[6, "v1", "float"]
|
||||
],
|
||||
|
||||
"robotboss-handler": [
|
||||
[6, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-red-wait)": [
|
||||
[12, "v1", "float"],
|
||||
[68, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-yellow-wait)": [
|
||||
[12, "v1", "float"],
|
||||
[68, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code robotboss-white-eco-movie)": [
|
||||
[[188, 215], "gp", "handle"]
|
||||
],
|
||||
|
||||
"(code robotboss-yellow-wait)": [
|
||||
[336, "v1", "float"],
|
||||
[365, "v1", "float"],
|
||||
[530, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code robotboss-red-wait)": [
|
||||
[153, "v1", "float"],
|
||||
[287, "v1", "float"],
|
||||
[339, "v1", "float"],
|
||||
[500, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"robotboss-redshot": [
|
||||
[45, "v1", "float"],
|
||||
[70, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-green-wait)": [
|
||||
[39, "v1", "float"],
|
||||
[95, "v1", "float"]
|
||||
],
|
||||
|
||||
"(exit robotboss-yellow-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-green-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-red-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-blue-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"robotboss-redshot-fill-array": [
|
||||
[24, "v1", "float"],
|
||||
[46, "v1", "float"],
|
||||
[109, "v1", "float"],
|
||||
[137, "v1", "float"],
|
||||
[137, "v1", "float"]
|
||||
],
|
||||
|
||||
"(trans robotboss-blue-wait)": [
|
||||
[254, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code robotboss-blue-wait)": [
|
||||
[14, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(enter green-eco-lurker-appear)": [
|
||||
[12, "v1", "robotboss"],
|
||||
[17, "v1", "robotboss"]
|
||||
],
|
||||
|
||||
"(code green-eco-lurker-appear)": [
|
||||
[42, "v1", "art-joint-anim"],
|
||||
[93, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code green-eco-lurker-appear-land)": [
|
||||
[74, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code nav-enemy-chase green-eco-lurker)": [
|
||||
[55, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code nav-enemy-patrol green-eco-lurker)": [
|
||||
[8, "t9", "(function none)"]
|
||||
],
|
||||
|
||||
"(trans light-eco-child-hit-ground)": [
|
||||
[63, "v1", "light-eco-mother"],
|
||||
[75, "a1", "light-eco-mother"],
|
||||
[88, "a1", "light-eco-mother"]
|
||||
],
|
||||
|
||||
"(event plat-path-active plat-eco-finalboss)": [
|
||||
[10, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 45 sage-finalboss)": [
|
||||
[[40, 57], "s5", "manipy"]
|
||||
],
|
||||
|
||||
"(method 32 sage-finalboss)": [
|
||||
[[241, 245], "v1", "manipy"],
|
||||
[[309, 313], "v1", "manipy"]
|
||||
],
|
||||
|
||||
"(trans play-anim sage-finalboss)": [
|
||||
[[179, 183], "a0", "manipy"],
|
||||
[[216, 220], "a0", "manipy"],
|
||||
[[295, 299], "a1", "manipy"],
|
||||
[[334, 338], "a1", "manipy"],
|
||||
[[371, 375], "a1", "manipy"],
|
||||
[391, "v0", "final-door"],
|
||||
[396, "v0", "final-door"]
|
||||
],
|
||||
|
||||
"(method 7 sage-finalboss)": [
|
||||
[2, "v1", "(inline-array sage-finalboss-particle)"],
|
||||
[6, "v1", "(inline-array sage-finalboss-particle)"],
|
||||
[10, "v1", "(inline-array sage-finalboss-particle)"]
|
||||
],
|
||||
|
||||
"(trans fisher-done)": [
|
||||
[[41, 46], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -3547,11 +3547,35 @@
|
||||
}
|
||||
},
|
||||
|
||||
"(trans fisher-done)": {
|
||||
"vars": {
|
||||
"v1-13": ["v1-13", "dma-packet"]
|
||||
}
|
||||
},
|
||||
|
||||
"anim-tester-get-playing-item": {
|
||||
"vars": {
|
||||
"v0-0": ["v0-0", "anim-test-seq-item"]
|
||||
}
|
||||
},
|
||||
|
||||
"light-eco-mother-default-event-handler": {
|
||||
"vars": {
|
||||
"v0-0": ["v0-0", "int"]
|
||||
}
|
||||
},
|
||||
|
||||
"(method 7 sage-finalboss)": {
|
||||
"vars": {
|
||||
"v1-0": ["v1-0", "(inline-array sage-finalboss-particle)"]
|
||||
}
|
||||
},
|
||||
|
||||
"(code robotboss-white-eco-movie)": {
|
||||
"vars": {
|
||||
"gp-1": ["gp-1", "handle"]
|
||||
}
|
||||
},
|
||||
|
||||
"aaaaaaaaaaaaaaaaaaaaaaa": {}
|
||||
}
|
||||
|
||||
@@ -579,7 +579,7 @@
|
||||
[3, "(function basic symbol)"],
|
||||
[2, "(function process symbol)"]
|
||||
],
|
||||
|
||||
|
||||
"anim-tester": [
|
||||
[11, "(function none :behavior anim-tester)"],
|
||||
[12, "(function none :behavior anim-tester)"],
|
||||
@@ -590,7 +590,7 @@
|
||||
[1, "(function none :behavior camera-combiner)"],
|
||||
[2, "(function basic int basic event-message-block object :behavior camera-combiner)"]
|
||||
],
|
||||
|
||||
|
||||
"title-obs": [
|
||||
[0, "(function none)"]
|
||||
],
|
||||
@@ -669,10 +669,10 @@
|
||||
[2, "(function sparticle-launch-group :behavior oracle)"],
|
||||
[3, "(function none :behavior oracle)"]
|
||||
],
|
||||
|
||||
|
||||
"time-of-day": [
|
||||
[10, "(function none)"],
|
||||
[12, "(function sparticle-system sparticle-cpuinfo int none)"]
|
||||
[10, "(function none :behavior time-of-day-proc)"],
|
||||
[12, "(function sparticle-system sparticle-cpuinfo none)"]
|
||||
],
|
||||
|
||||
"basebutton": [
|
||||
@@ -761,5 +761,22 @@
|
||||
[29, "(function none)"]
|
||||
],
|
||||
|
||||
"fisher-JUN": [
|
||||
[27, "(function none :behavior process)"],
|
||||
[28, "(function none :behavior fisher)"],
|
||||
[20, "(function none :behavior fisher-fish)"],
|
||||
[1, "(function none :behavior target)"]
|
||||
],
|
||||
"fisher-JUNGLE-L1": [
|
||||
[27, "(function none :behavior process)"],
|
||||
[28, "(function none :behavior fisher)"],
|
||||
[20, "(function none :behavior fisher-fish)"],
|
||||
[1, "(function none :behavior target)"]
|
||||
],
|
||||
|
||||
"robotboss-misc": [
|
||||
[5, "(function sparticle-launch-control :behavior finalbosscam)"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -353,9 +353,6 @@
|
||||
"(method 27 ropebridge)",
|
||||
|
||||
// all unchecked and in level DGO code
|
||||
"(anon-function 11 robotboss)",
|
||||
"(anon-function 18 robotboss)",
|
||||
"(anon-function 49 robotboss)",
|
||||
"(anon-function 21 plant-boss)",
|
||||
"(anon-function 10 ice-cube)",
|
||||
"(anon-function 15 ice-cube)",
|
||||
@@ -548,7 +545,15 @@
|
||||
"particle-adgif",
|
||||
"sp-launch-particles-var",
|
||||
"sp-process-block-2d",
|
||||
"sp-process-block-3d"
|
||||
"sp-process-block-3d",
|
||||
"draw-large-polygon",
|
||||
"clip-polygon-against-positive-hyperplane",
|
||||
"clip-polygon-against-negative-hyperplane",
|
||||
"render-sky-quad",
|
||||
"render-sky-tri",
|
||||
"init-sky-regs",
|
||||
"set-tex-offset",
|
||||
"adgif-shader<-texture-with-update!"
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@@ -803,6 +803,217 @@
|
||||
["L733", "uint64", true]
|
||||
],
|
||||
|
||||
"sky": [
|
||||
["L13", "vu-function"]
|
||||
],
|
||||
|
||||
"sky-tng": [
|
||||
["L82", "sky-work"],
|
||||
// 576 bytes, 32 bytes each
|
||||
["L81", "(inline-array sky-vertex)", 12],
|
||||
["L80", "(inline-array sky-vertex)", 12],
|
||||
["L79", "(inline-array sky-vertex)", 72],
|
||||
["L78", "(pointer uint8)", 48],
|
||||
["L77", "vector"],
|
||||
["L76", "vector"]
|
||||
],
|
||||
|
||||
"effect-control": [
|
||||
["L300", "float", true],
|
||||
["L301", "float", true],
|
||||
["L302", "float", true],
|
||||
["L306", "float", true],
|
||||
["L307", "float", true],
|
||||
["L309", "float", true],
|
||||
["L310", "float", true],
|
||||
["L312", "float", true],
|
||||
["L314", "float", true]
|
||||
],
|
||||
|
||||
"seagull": [
|
||||
["L226", "(inline-array air-box)", 20]
|
||||
],
|
||||
|
||||
"rolling-race-ring": [
|
||||
["L94", "vector"],
|
||||
["L95", "vector"],
|
||||
["L96", "vector"],
|
||||
["L97", "vector"],
|
||||
["L98", "vector"],
|
||||
["L99", "vector"],
|
||||
["L100", "vector"]
|
||||
],
|
||||
|
||||
"part-tester": [
|
||||
["L32", "uint64", true]
|
||||
],
|
||||
|
||||
"anim-tester": [
|
||||
["L509", "(inline-array list-field)", 12],
|
||||
["L523", "vector"],
|
||||
["L524", "vector"],
|
||||
["L649", "(pointer float)", 1],
|
||||
["L650", "(pointer float)", 1],
|
||||
["L651", "(pointer float)", 1],
|
||||
["L652", "(pointer float)", 1],
|
||||
["L653", "(pointer float)", 1],
|
||||
["L654", "(pointer float)", 1],
|
||||
["L655", "(pointer float)", 1],
|
||||
["L656", "(pointer float)", 1],
|
||||
["L657", "uint64", true],
|
||||
["L658", "uint64", true],
|
||||
["L663", "uint64", true],
|
||||
["L664", "uint64", true],
|
||||
["L665", "uint64", true],
|
||||
["L666", "uint64", true],
|
||||
["L667", "uint64", true],
|
||||
["L668", "uint64", true],
|
||||
["L669", "uint64", true],
|
||||
["L670", "uint64", true]
|
||||
],
|
||||
|
||||
"fisher-JUN": [
|
||||
["L262", "vector"],
|
||||
["L463", "(array (inline-array fisher-params))"]
|
||||
],
|
||||
"fisher-JUNGLE-L1": [
|
||||
["L262", "vector"],
|
||||
["L463", "(array (inline-array fisher-params))"]
|
||||
],
|
||||
|
||||
"robotboss-weapon": [
|
||||
["L122", "attack-info"],
|
||||
["L127", "attack-info"],
|
||||
["L138", "attack-info"],
|
||||
["L144", "vector4w"],
|
||||
["L145", "vector"]
|
||||
],
|
||||
|
||||
"robotboss-misc": [
|
||||
["L99", "vector"]
|
||||
],
|
||||
|
||||
"robotboss": [
|
||||
["L646", "attack-info"],
|
||||
["L647", "attack-info"],
|
||||
["L651", "vector"],
|
||||
["L654", "vector"],
|
||||
["L655", "vector"],
|
||||
["L656", "vector"],
|
||||
["L657", "vector"],
|
||||
["L658", "vector"],
|
||||
["L659", "vector"],
|
||||
["L660", "vector"],
|
||||
["L661", "vector"],
|
||||
["L662", "vector"],
|
||||
["L678", "vector"],
|
||||
["L669", "vector"],
|
||||
["L701", "vector"],
|
||||
["L702", "vector"],
|
||||
["L703", "vector"],
|
||||
["L705", "vector"],
|
||||
["L642", "robotboss-dda"],
|
||||
["L643", "robotboss-dda"],
|
||||
["L644", "robotboss-dda"],
|
||||
["L645", "robotboss-dda"],
|
||||
["L632", "robotboss-dda"],
|
||||
["L713", "float", true],
|
||||
["L714", "float", true],
|
||||
["L715", "float", true],
|
||||
["L716", "float", true],
|
||||
["L717", "float", true],
|
||||
["L718", "float", true],
|
||||
["L719", "float", true],
|
||||
["L720", "float", true],
|
||||
["L721", "float", true],
|
||||
["L722", "float", true],
|
||||
["L723", "float", true],
|
||||
["L724", "float", true],
|
||||
["L725", "float", true],
|
||||
["L726", "float", true],
|
||||
["L727", "float", true],
|
||||
["L728", "float", true],
|
||||
["L729", "float", true],
|
||||
["L730", "float", true],
|
||||
["L731", "float", true],
|
||||
["L732", "float", true],
|
||||
["L733", "float", true],
|
||||
["L734", "float", true],
|
||||
["L735", "float", true],
|
||||
["L736", "float", true],
|
||||
["L737", "float", true],
|
||||
["L738", "float", true],
|
||||
["L739", "float", true],
|
||||
["L740", "float", true],
|
||||
["L741", "float", true],
|
||||
["L742", "float", true],
|
||||
["L743", "float", true],
|
||||
["L744", "float", true],
|
||||
["L745", "float", true],
|
||||
["L746", "float", true],
|
||||
["L747", "float", true],
|
||||
["L748", "float", true],
|
||||
["L749", "float", true],
|
||||
["L750", "float", true],
|
||||
["L751", "float", true],
|
||||
["L752", "float", true],
|
||||
["L753", "float", true],
|
||||
["L754", "float", true],
|
||||
["L755", "float", true],
|
||||
["L756", "float", true],
|
||||
["L757", "float", true],
|
||||
["L758", "float", true],
|
||||
["L759", "float", true],
|
||||
["L760", "float", true],
|
||||
["L761", "float", true],
|
||||
["L762", "float", true],
|
||||
["L763", "float", true],
|
||||
["L764", "float", true],
|
||||
["L765", "float", true],
|
||||
["L766", "float", true],
|
||||
["L767", "float", true],
|
||||
["L768", "(pointer float)", 1],
|
||||
["L769", "float", true],
|
||||
["L770", "float", true],
|
||||
["L771", "float", true],
|
||||
["L772", "float", true],
|
||||
["L773", "float", true],
|
||||
["L774", "float", true],
|
||||
["L775", "float", true],
|
||||
["L776", "float", true],
|
||||
["L777", "float", true],
|
||||
["L778", "float", true],
|
||||
["L779", "float", true],
|
||||
["L780", "float", true],
|
||||
["L781", "float", true],
|
||||
["L782", "float", true],
|
||||
["L783", "float", true],
|
||||
["L784", "float", true],
|
||||
["L785", "float", true],
|
||||
["L786", "float", true],
|
||||
["L787", "float", true],
|
||||
["L788", "float", true],
|
||||
["L789", "float", true],
|
||||
["L790", "float", true],
|
||||
["L791", "float", true],
|
||||
["L792", "float", true],
|
||||
["L793", "float", true],
|
||||
["L794", "float", true],
|
||||
["L795", "float", true],
|
||||
["L796", "float", true],
|
||||
["L797", "float", true],
|
||||
["L798", "float", true],
|
||||
["L799", "float", true],
|
||||
["L800", "float", true],
|
||||
["L801", "uint64", true],
|
||||
["L802", "uint64", true],
|
||||
["L803", "uint64", true],
|
||||
["L804", "uint64", true],
|
||||
["L814", "float", true],
|
||||
["L815", "uint64", true],
|
||||
["L816", "uint64", true]
|
||||
],
|
||||
|
||||
// please do not add things after this entry! git is dumb.
|
||||
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
|
||||
}
|
||||
|
||||
@@ -1201,7 +1201,8 @@
|
||||
],
|
||||
|
||||
"update-time-of-day": [
|
||||
[16, "(array float)"] // TODO - broken!
|
||||
[16, "(array float)"], // TODO - broken!
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"check-drop-level-rain": [
|
||||
@@ -1854,7 +1855,7 @@
|
||||
"(method 11 wall-plat)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
|
||||
"(code plunger-lurker-plunge)": [[16, "event-message-block"]],
|
||||
"(event flying-lurker-fly)": [[16, "event-message-block"]],
|
||||
"(trans flying-lurker-fly)": [[16, "event-message-block"]],
|
||||
@@ -1881,7 +1882,7 @@
|
||||
[144, "vector"],
|
||||
[160, "vector"]
|
||||
],
|
||||
|
||||
|
||||
"(method 18 collide-cache)": [[16, "collide-cache-prim"]],
|
||||
|
||||
"kill-current-level-hint": [[16, "event-message-block"]],
|
||||
@@ -1916,7 +1917,7 @@
|
||||
|
||||
"sparticle-60-to-50":[
|
||||
[16, "quaternion"]
|
||||
],
|
||||
],
|
||||
|
||||
"sp-orbiter":[
|
||||
[16, "vector"],
|
||||
@@ -1952,9 +1953,7 @@
|
||||
],
|
||||
|
||||
"(method 10 gui-query)": [
|
||||
[16, "font-context"],
|
||||
[112, "font-context"],
|
||||
[208, "font-context"]
|
||||
[16, "font-context"]
|
||||
],
|
||||
|
||||
"(method 46 process-taskable)": [
|
||||
@@ -2735,5 +2734,244 @@
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(method 10 effect-control)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"],
|
||||
[112, "vector"],
|
||||
[128, "vector"],
|
||||
[144, "vector"]
|
||||
],
|
||||
|
||||
"(method 11 effect-control)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(method 12 effect-control)": [
|
||||
[16, "sound-spec"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(code helix-button-startup)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"(method 43 green-eco-lurker)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(method 73 green-eco-lurker)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"citb-sagecage-draw-bars": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
|
||||
"(code sunken-pipegame-start-up)": [
|
||||
[16, "event-message-block"]
|
||||
],
|
||||
|
||||
"(code race-ring-active)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(method 11 race-ring)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"init-sky-regs": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"set-tex-offset": [
|
||||
[16, "vector"]
|
||||
],
|
||||
|
||||
"sky-tng-setup-cloud-layer": [
|
||||
[16,["inline-array", "sky-vertex", 12]]
|
||||
],
|
||||
|
||||
"fisher-fish-move": [[16, "vector"]],
|
||||
"fisher-fish-water": [[16, "vector"]],
|
||||
"(trans play-accept fisher)": [[16, "vector"]],
|
||||
"(method 11 fisher)": [[16, "vector"]],
|
||||
"(code fisher-fish-caught)": [[16, "event-message-block"]],
|
||||
"(code fisher-fish-die)": [[16, "event-message-block"]],
|
||||
"(exit fisher-done)": [[16, "event-message-block"]],
|
||||
"(enter fisher-done)": [[16, "event-message-block"]],
|
||||
"(event fisher-playing)": [[16, "event-message-block"]],
|
||||
"(enter fisher-playing)": [[16, "event-message-block"]],
|
||||
"(exit fisher-playing)": [[16, "event-message-block"]],
|
||||
"(trans enter-playing fisher)": [[16, "event-message-block"]],
|
||||
"(code target-fishing)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"],
|
||||
[112, "quaternion"],
|
||||
[128, "quaternion"],
|
||||
[144, "quaternion"]
|
||||
],
|
||||
"(method 43 fisher)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"fisher-draw-display": [[16, "font-context"]],
|
||||
|
||||
"(method 10 torus)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"(method 12 torus)": [[16, "matrix"]],
|
||||
"redshot-trans": [[16, "matrix"]],
|
||||
"(trans redshot-explode)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
"(code darkecobomb-explode)": [[16, "event-message-block"]],
|
||||
"(event yellowshot-idle)": [[16, "event-message-block"]],
|
||||
"(trans yellowshot-idle)": [[16, "event-message-block"]],
|
||||
"(trans darkecobomb-countdown)": [[16, "vector"]],
|
||||
|
||||
"arcing-shot-draw": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(method 9 torus)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "matrix"],
|
||||
[128, ["inline-array", "vector", 8]]
|
||||
],
|
||||
|
||||
"(method 32 finalbosscam)": [[16, "event-message-block"]],
|
||||
|
||||
"(code cam-robotboss)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"ecoclaw-beam-particle-callback": [[16, "vector"]],
|
||||
"robotboss-manipy-trans-hook": [[16, "vector"]],
|
||||
"robotboss-redshot": [[16, "vector"]],
|
||||
"robotboss-cut-cam": [[16, "vector"]],
|
||||
|
||||
"robotboss-yellowshot": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "event-message-block"]
|
||||
],
|
||||
|
||||
"(trans robotboss-white-eco-movie)": [[16, "vector"]],
|
||||
|
||||
"(code robotboss-red-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "redshot-launch-info"]
|
||||
],
|
||||
|
||||
"(trans robotboss-yellow-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-setup-for-hits": [
|
||||
[16, "sphere"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-position": [
|
||||
[16, "vector"],
|
||||
[32, "matrix"],
|
||||
[96, "event-message-block"],
|
||||
[176, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-shooting-trans": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-darkecobomb": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-redshot-fill-array": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"robotboss-blue-beam": [
|
||||
[16, "vector"],
|
||||
[32, "vector"],
|
||||
[48, "vector"],
|
||||
[64, "collide-mesh-cache-tri"],
|
||||
[160, "vector"],
|
||||
[176, "event-message-block"]
|
||||
],
|
||||
|
||||
"robotboss-bomb-handler": [[16, "event-message-block"]],
|
||||
"robotboss-blue-done": [[16, "event-message-block"]],
|
||||
"(exit robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
"(enter robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-green-wait)": [[16, "event-message-block"]],
|
||||
"(event robotboss-green-wait)": [[16, "event-message-block"]],
|
||||
|
||||
"(trans robotboss-red-wait)": [
|
||||
[16, "event-message-block"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"(exit robotboss-red-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-yellow-wait)": [[16, "event-message-block"]],
|
||||
"(code robotboss-white-eco-movie)": [[16, "event-message-block"]],
|
||||
"(event robotboss-yellow-dark-bomb-wait)": [[16, "event-message-block"]],
|
||||
"(exit robotboss-yellow-dark-bomb-wait)": [[16, "event-message-block"]],
|
||||
"(code robotboss-daxter-sacrifice-movie)": [[16, "event-message-block"]],
|
||||
|
||||
"robotboss-greenshot": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
"(trans robotboss-blue-wait)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"],
|
||||
[112, "vector"]
|
||||
],
|
||||
|
||||
"(code robotboss-blue-wait)": [[16, "event-message-block"]],
|
||||
|
||||
"(method 44 green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(method 72 green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(enter nav-enemy-die green-eco-lurker)": [[16, "event-message-block"]],
|
||||
"(event spawn-minions)": [[16, "event-message-block"]],
|
||||
"(method 51 green-eco-lurker)": [[16, "vector"]],
|
||||
"(enter green-eco-lurker-appear)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
"(code spawn-minions)": [
|
||||
[16, "vector"],
|
||||
[32, "event-message-block"]
|
||||
],
|
||||
|
||||
"check-drop-level-lighteco-big-pops": [[16, "vector"]],
|
||||
"check-drop-level-lighteco-pops": [[16, "vector"]],
|
||||
"(method 20 light-eco-child)": [[16, "vector"]],
|
||||
"light-eco-child-default-event-handler": [[16, "event-message-block"]],
|
||||
"(code light-eco-child-die)": [[16, "event-message-block"]],
|
||||
"light-eco-mother-default-event-handler": [[16, "event-message-block"]],
|
||||
"(trans light-eco-child-hit-ground)": [[16, "vector"]],
|
||||
"(method 21 light-eco-mother)": [[16, "vector"]],
|
||||
"(method 20 light-eco-mother)": [[16, "vector"]],
|
||||
|
||||
"placeholder-do-not-add-below!": []
|
||||
}
|
||||
|
||||
@@ -1335,6 +1335,7 @@
|
||||
],
|
||||
|
||||
"(method 0 anim-test-seq-item)": [
|
||||
[7, "v0", "anim-test-seq-item"],
|
||||
[8, "v1", "anim-test-seq-item"],
|
||||
[10, "v0", "anim-test-seq-item"],
|
||||
[11, "v0", "anim-test-seq-item"],
|
||||
@@ -1444,14 +1445,17 @@
|
||||
"anim-test-obj-list-handler": [
|
||||
[25, "s5", "anim-test-obj"],
|
||||
[31, "s5", "anim-test-obj"],
|
||||
[[50, 53], "v1", "dma-packet"],
|
||||
[110, "s5", "anim-test-obj"],
|
||||
[166, "s5", "anim-test-obj"],
|
||||
[112, "v1", "anim-tester"]
|
||||
[112, "v1", "anim-tester"],
|
||||
[[202, 205], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"anim-test-anim-list-handler": [
|
||||
[2, "s5", "anim-test-obj"],
|
||||
[25, "s5", "anim-test-obj"],
|
||||
[[44, 47], "v1", "dma-packet"],
|
||||
[65, "s5", "anim-test-obj"],
|
||||
[227, "s5", "anim-test-obj"],
|
||||
[90, "v1", "anim-test-obj"],
|
||||
@@ -1465,13 +1469,15 @@
|
||||
[167, "v1", "anim-test-obj"],
|
||||
[169, "v1", "anim-test-obj"],
|
||||
[171, "v1", "anim-test-obj"],
|
||||
[173, "v1", "anim-test-obj"]
|
||||
[173, "v1", "anim-test-obj"],
|
||||
[[263, 266], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"anim-test-sequence-list-handler": [
|
||||
[2, "s5", "anim-test-sequence"],
|
||||
[25, "s5", "anim-test-sequence"],
|
||||
[31, "s5", "anim-test-sequence"],
|
||||
[[50, 53], "v1", "dma-packet"],
|
||||
[71, "s5", "anim-test-sequence"],
|
||||
[231, "s5", "anim-test-sequence"],
|
||||
[96, "v1", "anim-test-sequence"],
|
||||
@@ -1481,10 +1487,16 @@
|
||||
[136, "v1", "anim-test-sequence"],
|
||||
[137, "v1", "anim-test-sequence"],
|
||||
[146, "v1", "anim-test-sequence"],
|
||||
[151, "v1", "anim-test-sequence"]
|
||||
[151, "v1", "anim-test-sequence"],
|
||||
[[267, 270], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"anim-test-edit-sequence-list-handler": [
|
||||
[[82, 85], "v1", "dma-packet"],
|
||||
[[148, 151], "v1", "dma-packet"],
|
||||
[[323, 326], "v1", "dma-packet"],
|
||||
[[979, 982], "v1", "dma-packet"],
|
||||
[[1028, 1031], "v1", "dma-packet"],
|
||||
[[122, 965], "s4", "anim-test-sequence"],
|
||||
[129, "v1", "glst-named-node"],
|
||||
[[128, 909], "gp", "anim-test-seq-item"],
|
||||
@@ -1499,26 +1511,37 @@
|
||||
|
||||
"anim-tester-interface": [
|
||||
[[34, 48], "gp", "anim-test-obj"],
|
||||
[[70, 73], "v1", "dma-packet"],
|
||||
[[131, 134], "v1", "dma-packet"],
|
||||
[[189, 192], "v1", "dma-packet"],
|
||||
[[228, 231], "v1", "dma-packet"],
|
||||
[[95, 109], "gp", "anim-test-obj"],
|
||||
[[156, 160], "v1", "anim-test-obj"],
|
||||
[[162, 165], "v1", "anim-test-sequence"]
|
||||
],
|
||||
|
||||
"anim-tester-get-playing-item": [
|
||||
[7, "v0", "anim-test-seq-item"],
|
||||
[4, "t9", "(function glst-list int anim-test-seq-item)"],
|
||||
[20, "t9", "(function glst-list int anim-test-seq-item)"],
|
||||
[[5, 22], "s5", "anim-test-seq-item"],
|
||||
[21, "v0", "anim-test-seq-item"],
|
||||
[25, "v0", "anim-test-seq-item"]
|
||||
[25, "v0", "anim-test-seq-item"],
|
||||
[5, "v0", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"anim-tester-add-newobj": [
|
||||
["_stack_", 128, "anim-test-obj"],
|
||||
[[2, 185], "s2", "anim-test-obj"],
|
||||
[[70, 193], "s5", "anim-test-obj"],
|
||||
[149, "v1", "anim-test-sequence"],
|
||||
[154, "v1", "anim-test-sequence"],
|
||||
[160, "v1", "anim-test-sequence"],
|
||||
[164, "a0", "art-joint-anim"],
|
||||
[170, "a0", "art-joint-anim"]
|
||||
[168, "v1", "anim-test-seq-item"],
|
||||
[168, "v1", "anim-test-seq-item"],
|
||||
[170, "a0", "art-joint-anim"],
|
||||
[171, "v1", "anim-test-seq-item"],
|
||||
[173, "v1", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"anim-tester-start": [[20, "t9", "(function process function none)"]],
|
||||
@@ -2612,23 +2635,6 @@
|
||||
[[15, 250], "s5", "symbol"]
|
||||
],
|
||||
|
||||
"time-of-day-update": [
|
||||
[[0, 999], "s6", "time-of-day-proc"]
|
||||
],
|
||||
|
||||
"(anon-function 10 time-of-day)": [
|
||||
[[0, 999], "s6", "time-of-day-proc"]
|
||||
],
|
||||
|
||||
"init-time-of-day": [
|
||||
[[0, 999], "s6", "time-of-day-proc"],
|
||||
[[51, 54], "t9", "(function object object object)"]
|
||||
],
|
||||
|
||||
"start-time-of-day": [
|
||||
[[20, 23], "t9", "(function process function object)"]
|
||||
],
|
||||
|
||||
"cam-master-effect": [
|
||||
[[0, 999], "s6", "camera-master"]
|
||||
],
|
||||
@@ -3912,5 +3918,389 @@
|
||||
[2, "v1", "(pointer process-drawable)"]
|
||||
],
|
||||
|
||||
"update-time-of-day": [
|
||||
[46, "v0", "(array float)"]
|
||||
],
|
||||
|
||||
"sky-make-light": [
|
||||
[[10, 23], "a0", "sky-sun-data"]
|
||||
],
|
||||
|
||||
"make-sky-textures": [
|
||||
[[90, 94], "a0", "dma-packet"],
|
||||
[[100, 103], "a0", "gs-gif-tag"],
|
||||
[108, "a0", "(pointer gs-alpha)"],
|
||||
[110, "a0", "(pointer gs-reg64)"],
|
||||
[[121, 124], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"copy-cloud-texture": [
|
||||
[[2, 48], "s5", "(pointer uint128)"],
|
||||
[[28, 32], "s4", "adgif-shader"]
|
||||
],
|
||||
|
||||
"copy-sky-texture": [
|
||||
[[2, 48], "s5", "(pointer uint128)"],
|
||||
[[28, 32], "s4", "adgif-shader"]
|
||||
],
|
||||
|
||||
"render-sky-tng": [
|
||||
[[244, 262], "s2", "(inline-array sky-vertex)"],
|
||||
[[34, 38], "a0", "dma-packet"],
|
||||
[[44, 47], "a0", "gs-gif-tag"],
|
||||
[52, "a0", "(pointer gs-zbuf)"],
|
||||
[54, "a0", "(pointer gs-reg64)"],
|
||||
[56, "a0", "(pointer gs-test)"],
|
||||
[58, "a0", "(pointer gs-reg64)"],
|
||||
[60, "a0", "(pointer gs-alpha)"],
|
||||
[62, "a0", "(pointer gs-reg64)"],
|
||||
[[74, 78], "a0", "dma-packet"],
|
||||
[[84, 87], "a0", "gs-gif-tag"],
|
||||
|
||||
[107, "s2", "(pointer gs-tex0)"],
|
||||
[109, "s2", "(pointer gs-reg64)"],
|
||||
[111, "s2", "(pointer gs-tex1)"],
|
||||
[113, "s2", "(pointer gs-reg64)"],
|
||||
[115, "s2", "(pointer gs-clamp)"],
|
||||
[117, "s2", "(pointer gs-reg64)"],
|
||||
[118, "s2", "(pointer uint64)"],
|
||||
[120, "s2", "(pointer gs-reg64)"],
|
||||
[[159, 166], "s3", "dma-packet"],
|
||||
[[171, 175], "a0", "dma-packet"],
|
||||
[[181, 184], "a0", "gs-gif-tag"],
|
||||
|
||||
[189, "s2", "(pointer gs-alpha)"],
|
||||
[191, "s2", "(pointer gs-reg64)"],
|
||||
[209, "s2", "(pointer gs-tex0)"],
|
||||
[211, "s2", "(pointer gs-reg64)"],
|
||||
[213, "s2", "(pointer gs-tex1)"],
|
||||
[215, "s2", "(pointer gs-reg64)"],
|
||||
[216, "s2", "(pointer gs-clamp)"],
|
||||
[218, "s2", "(pointer gs-reg64)"],
|
||||
[219, "s2", "(pointer int64)"],
|
||||
[221, "s2", "(pointer gs-reg64)"],
|
||||
[[303, 310], "s3", "dma-packet"],
|
||||
[[312, 316], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"render-sky-tri": [
|
||||
[5, "a0", "int"],
|
||||
[[6, 50], "a0", "(inline-array sky-vertex)"],
|
||||
[[25, 48], "a3", "(inline-array sky-vertex)"]
|
||||
],
|
||||
|
||||
"render-sky-quad": [
|
||||
[[9, 32], "a0", "(inline-array sky-vertex)"],
|
||||
[[33, 62], "a3", "(inline-array sky-vertex)"]
|
||||
],
|
||||
|
||||
"(method 10 effect-control)": [
|
||||
[88, "v1", "collide-shape-moving"],
|
||||
[143, "s3", "(pointer sparticle-launch-group)"],
|
||||
[147, "s3", "sparticle-launch-group"],
|
||||
[199, "s3", "sparticle-launch-group"],
|
||||
[240, "s3", "basic"],
|
||||
[286, "s3", "basic"],
|
||||
[346, "s3", "basic"],
|
||||
[367, "s3", "basic"],
|
||||
[367, "s3", "basic"],
|
||||
[[371, 451], "s3", "death-info"]
|
||||
],
|
||||
|
||||
"(post water-vol-idle helix-dark-eco)": [
|
||||
[4, "t9", "(function none :behavior helix-dark-eco)"]
|
||||
],
|
||||
|
||||
"(code helix-slide-door-close)": [
|
||||
[10, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code helix-button-startup)": [
|
||||
[39, "v1", "process-drawable"]
|
||||
],
|
||||
|
||||
"(method 73 green-eco-lurker)": [
|
||||
[6, "a1", "touching-shapes-entry"]
|
||||
],
|
||||
|
||||
"citb-sagecage-update-collision": [
|
||||
[2, "a0", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"race-ring-set-particle-rotation-callback": [
|
||||
[1, "v1", "(pointer race-ring)"]
|
||||
],
|
||||
|
||||
"race-ring-blue-set-particle-rotation-callback": [
|
||||
[1, "v1", "(pointer race-ring)"]
|
||||
],
|
||||
|
||||
"(code race-ring-active)": [
|
||||
[242, "v1", "handle"],
|
||||
[245, "v1", "handle"],
|
||||
[253, "gp", "handle"],
|
||||
[269, "s5", "handle"],
|
||||
[272, "s5", "handle"]
|
||||
],
|
||||
|
||||
"(trans race-ring-active)": [
|
||||
[26, "a0", "part-tracker"]
|
||||
],
|
||||
|
||||
"(code anim-tester-process)": [
|
||||
[41, "v1", "anim-test-obj"],
|
||||
[45, "v1", "anim-test-obj"],
|
||||
[[40, 114], "s4", "anim-test-obj"],
|
||||
[82, "v0", "anim-test-sequence"],
|
||||
[119, "v0", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"display-list-control": [
|
||||
[[194, 197], "v1", "dma-packet"],
|
||||
[[423, 426], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"anim-tester-disp-frame-num": [
|
||||
[[75, 78], "v1", "dma-packet"]
|
||||
],
|
||||
|
||||
"fisher-fish-move": [
|
||||
[9, "v1", "fisher"],
|
||||
[21, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-fall)": [
|
||||
[5, "v1", "fisher"],
|
||||
[60, "v1", "fisher"],
|
||||
[79, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-caught)": [
|
||||
[169, "v1", "fisher"]
|
||||
],
|
||||
|
||||
"(code fisher-fish-die)": [
|
||||
[35, "v1", "fisher"],
|
||||
[47, "v1", "fisher"],
|
||||
[90, "v1", "fisher"],
|
||||
[98, "v1", "fisher"],
|
||||
[112, "v1", "fisher"],
|
||||
[129, "v1", "fisher"],
|
||||
[137, "v1", "fisher"],
|
||||
[151, "v1", "fisher"],
|
||||
[165, "v1", "fisher"],
|
||||
[179, "v1", "fisher"],
|
||||
[193, "v1", "fisher"],
|
||||
[205, "v1", "fisher"],
|
||||
[209, "v1", "fisher"],
|
||||
[27, "v1", "float"],
|
||||
[79, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 38 fisher)": [
|
||||
[33, "t9", "(function fisher none)"]
|
||||
],
|
||||
|
||||
"(enter fisher-done)": [
|
||||
[137, "f0", "float"],
|
||||
[148, "f0", "float"],
|
||||
[213, "f0", "float"]
|
||||
],
|
||||
|
||||
"fisher-spawn-ambient": [
|
||||
[8, "v1", "float"]
|
||||
],
|
||||
|
||||
"(method 43 fisher)": [
|
||||
[27, "v1", "float"],
|
||||
[69, "v1", "float"]
|
||||
],
|
||||
|
||||
"(trans play-accept fisher)": [
|
||||
[101, "v0", "state"]
|
||||
],
|
||||
|
||||
"(trans idle fisher)": [
|
||||
[4, "v0", "state"]
|
||||
],
|
||||
|
||||
"(code idle fisher)": [
|
||||
[132, "v1", "art-joint-anim"],
|
||||
[35, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code target-fishing)": [
|
||||
[163, "v1", "fisher"],
|
||||
[290, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(method 11 torus)": [
|
||||
[[5, 22], "s4", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(method 12 torus)": [
|
||||
[11, "v1", "float"],
|
||||
[51, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-countdown)": [
|
||||
[25, "v1", "art-joint-anim"],
|
||||
[75, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-land)": [
|
||||
[36, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code darkecobomb-idle)": [
|
||||
[10, "v1", "art-joint-anim"],
|
||||
[60, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"redshot-particle-callback": [
|
||||
[2, "v1", "(pointer redshot)"]
|
||||
],
|
||||
|
||||
"(event cam-robotboss)": [
|
||||
[5, "v1", "vector"]
|
||||
],
|
||||
|
||||
"ecoclaw-handler": [
|
||||
[73, "v1", "vector"]
|
||||
],
|
||||
|
||||
"(event idle silodoor)": [
|
||||
[4, "v1", "float"]
|
||||
],
|
||||
|
||||
"ecoclaw-beam-particle-callback": [
|
||||
[1, "a0", "(pointer projectile)"],
|
||||
[3, "a0", "(pointer projectile)"]
|
||||
],
|
||||
|
||||
"(method 32 finalbosscam)": [
|
||||
[156, "v1", "robotboss"]
|
||||
],
|
||||
|
||||
"(trans ecoclaw-activate)": [
|
||||
[30, "a0", "part-tracker"]
|
||||
],
|
||||
|
||||
"robotboss-position": [
|
||||
[109, "a0", "process-drawable"]
|
||||
],
|
||||
|
||||
"robotboss-bomb-handler": [
|
||||
[6, "v1", "float"]
|
||||
],
|
||||
|
||||
"robotboss-handler": [
|
||||
[6, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-red-wait)": [
|
||||
[12, "v1", "float"],
|
||||
[68, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-yellow-wait)": [
|
||||
[12, "v1", "float"],
|
||||
[68, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code robotboss-white-eco-movie)": [
|
||||
[189, "v1", "handle"],
|
||||
[192, "v1", "handle"],
|
||||
[208, "gp", "handle"],
|
||||
[211, "gp", "handle"]
|
||||
],
|
||||
|
||||
"(code robotboss-yellow-wait)": [
|
||||
[336, "v1", "float"],
|
||||
[365, "v1", "float"],
|
||||
[530, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code robotboss-red-wait)": [
|
||||
[153, "v1", "float"],
|
||||
[287, "v1", "float"],
|
||||
[339, "v1", "float"],
|
||||
[500, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"robotboss-redshot": [
|
||||
[45, "v1", "float"],
|
||||
[70, "v1", "float"]
|
||||
],
|
||||
|
||||
"(event robotboss-green-wait)": [
|
||||
[39, "v1", "float"],
|
||||
[95, "v1", "float"]
|
||||
],
|
||||
|
||||
"(exit robotboss-yellow-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-green-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-red-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"(exit robotboss-blue-wait)": [
|
||||
[50, "v1", "collide-shape-prim-group"],
|
||||
[54, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
|
||||
"robotboss-redshot-fill-array": [
|
||||
[24, "v1", "float"],
|
||||
[46, "v1", "float"],
|
||||
[109, "v1", "float"],
|
||||
[137, "v1", "float"],
|
||||
[137, "v1", "float"]
|
||||
],
|
||||
|
||||
"(trans robotboss-blue-wait)": [
|
||||
[254, "v1", "float"]
|
||||
],
|
||||
|
||||
"(code robotboss-blue-wait)": [
|
||||
[14, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(enter green-eco-lurker-appear)": [
|
||||
[12, "v1", "robotboss"],
|
||||
[17, "v1", "robotboss"]
|
||||
],
|
||||
|
||||
"(code green-eco-lurker-appear)": [
|
||||
[42, "v1", "art-joint-anim"],
|
||||
[93, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code green-eco-lurker-appear-land)": [
|
||||
[74, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code nav-enemy-chase green-eco-lurker)": [
|
||||
[55, "v1", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(code nav-enemy-patrol green-eco-lurker)": [
|
||||
[8, "t9", "(function none)"]
|
||||
],
|
||||
|
||||
"(trans light-eco-child-hit-ground)": [
|
||||
[63, "v1", "light-eco-mother"],
|
||||
[75, "a1", "light-eco-mother"],
|
||||
[88, "a1", "light-eco-mother"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -3550,5 +3550,11 @@
|
||||
}
|
||||
},
|
||||
|
||||
"anim-tester-get-playing-item": {
|
||||
"vars": {
|
||||
"v0-0": ["v0-0", "anim-test-seq-item"]
|
||||
}
|
||||
},
|
||||
|
||||
"aaaaaaaaaaaaaaaaaaaaaaa": {}
|
||||
}
|
||||
|
||||
@@ -65,6 +65,10 @@ void DecompilerTypeSystem::parse_type_defs(const std::vector<std::string>& file_
|
||||
if (dtr.create_runtime_type) {
|
||||
add_symbol(dtr.type.base_type(), "type");
|
||||
}
|
||||
// declare the type's states globally
|
||||
for (auto& state : dtr.type_info->get_states_declared_for_type()) {
|
||||
add_symbol(state.name, state.type);
|
||||
}
|
||||
|
||||
} else if (car(o).as_symbol()->name == "declare-type") {
|
||||
auto* rest = &cdr(o);
|
||||
|
||||
@@ -327,16 +327,12 @@ goos::Object decomp_ref_to_inline_array_guess_size(
|
||||
int my_seg,
|
||||
int field_location,
|
||||
const TypeSystem& ts,
|
||||
const Field& data_field,
|
||||
const std::vector<std::vector<LinkedWord>>& all_words,
|
||||
const LinkedObjectFile* file,
|
||||
const TypeSpec& array_elt_type,
|
||||
int stride) {
|
||||
// fmt::print("Decomp decomp_ref_to_inline_array_guess_size {}\n", array_elt_type.print());
|
||||
|
||||
// verify that the field is the right type.
|
||||
assert(data_field.type() == TypeSpec("inline-array", {array_elt_type}));
|
||||
|
||||
// verify the stride matches the type system
|
||||
auto elt_type_info = ts.lookup_type(array_elt_type);
|
||||
assert(stride == align(elt_type_info->get_size_in_memory(),
|
||||
@@ -425,12 +421,10 @@ goos::Object ocean_near_indices_decompile(const std::vector<LinkedWord>& words,
|
||||
int my_seg,
|
||||
int field_location,
|
||||
const TypeSystem& ts,
|
||||
const Field& data_field,
|
||||
const std::vector<std::vector<LinkedWord>>& all_words,
|
||||
const LinkedObjectFile* file) {
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts,
|
||||
data_field, all_words, file,
|
||||
TypeSpec("ocean-near-index"), 32);
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts, all_words,
|
||||
file, TypeSpec("ocean-near-index"), 32);
|
||||
}
|
||||
|
||||
goos::Object ocean_mid_masks_decompile(const std::vector<LinkedWord>& words,
|
||||
@@ -438,12 +432,10 @@ goos::Object ocean_mid_masks_decompile(const std::vector<LinkedWord>& words,
|
||||
int my_seg,
|
||||
int field_location,
|
||||
const TypeSystem& ts,
|
||||
const Field& data_field,
|
||||
const std::vector<std::vector<LinkedWord>>& all_words,
|
||||
const LinkedObjectFile* file) {
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts,
|
||||
data_field, all_words, file,
|
||||
TypeSpec("ocean-mid-mask"), 8);
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts, all_words,
|
||||
file, TypeSpec("ocean-mid-mask"), 8);
|
||||
}
|
||||
|
||||
goos::Object sp_field_init_spec_decompile(const std::vector<LinkedWord>& words,
|
||||
@@ -451,12 +443,10 @@ goos::Object sp_field_init_spec_decompile(const std::vector<LinkedWord>& words,
|
||||
int my_seg,
|
||||
int field_location,
|
||||
const TypeSystem& ts,
|
||||
const Field& data_field,
|
||||
const std::vector<std::vector<LinkedWord>>& all_words,
|
||||
const LinkedObjectFile* file) {
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts,
|
||||
data_field, all_words, file,
|
||||
TypeSpec("sp-field-init-spec"), 16);
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts, all_words,
|
||||
file, TypeSpec("sp-field-init-spec"), 16);
|
||||
}
|
||||
|
||||
goos::Object sp_launch_grp_launcher_decompile(const std::vector<LinkedWord>& words,
|
||||
@@ -464,12 +454,10 @@ goos::Object sp_launch_grp_launcher_decompile(const std::vector<LinkedWord>& wor
|
||||
int my_seg,
|
||||
int field_location,
|
||||
const TypeSystem& ts,
|
||||
const Field& data_field,
|
||||
const std::vector<std::vector<LinkedWord>>& all_words,
|
||||
const LinkedObjectFile* file) {
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts,
|
||||
data_field, all_words, file,
|
||||
TypeSpec("sparticle-group-item"), 32);
|
||||
return decomp_ref_to_inline_array_guess_size(words, labels, my_seg, field_location, ts, all_words,
|
||||
file, TypeSpec("sparticle-group-item"), 32);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
@@ -658,19 +646,19 @@ goos::Object decompile_structure(const TypeSpec& type,
|
||||
// first, get the label:
|
||||
field_defs_out.emplace_back(
|
||||
field.name(), ocean_near_indices_decompile(obj_words, labels, label.target_segment,
|
||||
field_start, ts, field, words, file));
|
||||
field_start, ts, words, file));
|
||||
} else if (field.name() == "data" && type.print() == "ocean-mid-masks") {
|
||||
field_defs_out.emplace_back(
|
||||
field.name(), ocean_mid_masks_decompile(obj_words, labels, label.target_segment,
|
||||
field_start, ts, field, words, file));
|
||||
field_start, ts, words, file));
|
||||
} else if (field.name() == "init-specs" && type.print() == "sparticle-launcher") {
|
||||
field_defs_out.emplace_back(
|
||||
field.name(), sp_field_init_spec_decompile(obj_words, labels, label.target_segment,
|
||||
field_start, ts, field, words, file));
|
||||
field_start, ts, words, file));
|
||||
} else if (field.name() == "launcher" && type.print() == "sparticle-launch-group") {
|
||||
field_defs_out.emplace_back(field.name(), sp_launch_grp_launcher_decompile(
|
||||
obj_words, labels, label.target_segment,
|
||||
field_start, ts, field, words, file));
|
||||
field_start, ts, words, file));
|
||||
} else {
|
||||
if (field.type().base_type() == "pointer") {
|
||||
if (obj_words.at(field_start / 4).kind != LinkedWord::SYM_PTR) {
|
||||
@@ -950,15 +938,18 @@ goos::Object decompile_value(const TypeSpec& type,
|
||||
}
|
||||
} else if (type == TypeSpec("seconds")) {
|
||||
assert(bytes.size() == 8);
|
||||
u64 value;
|
||||
s64 value;
|
||||
memcpy(&value, bytes.data(), 8);
|
||||
|
||||
// only rewrite if exact.
|
||||
u64 seconds = value / TICKS_PER_SECOND;
|
||||
if (seconds * TICKS_PER_SECOND == value) {
|
||||
return pretty_print::to_symbol(fmt::format("(seconds {})", seconds));
|
||||
s64 seconds_int = value / TICKS_PER_SECOND;
|
||||
if (seconds_int * TICKS_PER_SECOND == value) {
|
||||
return pretty_print::to_symbol(fmt::format("(seconds {})", seconds_int));
|
||||
}
|
||||
double seconds = (double)value / TICKS_PER_SECOND;
|
||||
if (seconds * TICKS_PER_SECOND == value) {
|
||||
return pretty_print::build_list("seconds", pretty_print::float_representation(seconds));
|
||||
}
|
||||
|
||||
return pretty_print::to_symbol(fmt::format("#x{:x}", value));
|
||||
} else if (ts.tc(TypeSpec("uint64"), type)) {
|
||||
assert(bytes.size() == 8);
|
||||
@@ -1070,6 +1061,23 @@ goos::Object decompile_boxed_array(const DecompilerLabel& label,
|
||||
}
|
||||
}
|
||||
|
||||
return pretty_print::build_list(result);
|
||||
} else if (content_type.base_type() == "inline-array") {
|
||||
std::vector<goos::Object> result = {
|
||||
pretty_print::to_symbol("new"), pretty_print::to_symbol("'static"),
|
||||
pretty_print::to_symbol("'boxed-array"),
|
||||
pretty_print::to_symbol(fmt::format(":type {} :length {} :allocated-length {}",
|
||||
content_type.print(), array_length,
|
||||
array_allocated_length))};
|
||||
|
||||
for (int elt = 0; elt < array_length; elt++) {
|
||||
auto& word = words.at(label.target_segment).at(first_elt_word_idx + elt);
|
||||
auto segment = labels.at(word.label_id).target_segment;
|
||||
result.push_back(decomp_ref_to_inline_array_guess_size(
|
||||
words.at(segment), labels, segment, (first_elt_word_idx + elt) * 4, ts, words, file,
|
||||
content_type.get_single_arg(), ts.get_deref_info(content_type).stride));
|
||||
}
|
||||
|
||||
return pretty_print::build_list(result);
|
||||
} else {
|
||||
// value array
|
||||
@@ -1088,7 +1096,8 @@ goos::Object decompile_boxed_array(const DecompilerLabel& label,
|
||||
for (int j = start; j < end; j++) {
|
||||
auto& word = words.at(label.target_segment).at(j / 4);
|
||||
if (word.kind != LinkedWord::PLAIN_DATA) {
|
||||
throw std::runtime_error("Got bad word in kind in array of values");
|
||||
throw std::runtime_error(
|
||||
fmt::format("Got bad word of kind {} in boxed array of values", word.kind));
|
||||
}
|
||||
elt_bytes.push_back(word.get_byte(j % 4));
|
||||
}
|
||||
|
||||
@@ -447,3 +447,4 @@
|
||||
(define-extern paused? (function symbol))
|
||||
;; TODO - for cam-start
|
||||
(define-extern cam-master-init (function none :behavior camera-master))
|
||||
(define-extern v-slrp3! (function vector vector vector vector float vector))
|
||||
|
||||
@@ -5,11 +5,10 @@
|
||||
;; name in dgo: camera
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
;; definition for symbol *cam-res-string*, type string
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(define *cam-res-string* (new 'global 'string 64 (the-as string #f)))
|
||||
|
||||
;; definition for function cam-slave-get-vector-with-offset
|
||||
;; Used lq/sq
|
||||
(defun
|
||||
cam-slave-get-vector-with-offset
|
||||
((arg0 entity-actor) (arg1 vector) (arg2 symbol))
|
||||
@@ -57,7 +56,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-slave-get-flags
|
||||
(defun cam-slave-get-flags ((arg0 entity) (arg1 symbol))
|
||||
(let ((gp-0 (res-lump-value arg0 arg1 uint128))
|
||||
(s3-0 (method-of-type res-lump get-property-value))
|
||||
@@ -98,7 +96,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-slave-get-float
|
||||
(defun cam-slave-get-float ((arg0 entity) (arg1 symbol) (arg2 float))
|
||||
(let ((f30-0 (res-lump-float arg0 arg1 :default arg2))
|
||||
(s4-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -119,7 +116,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-slave-get-fov
|
||||
(defun cam-slave-get-fov ((arg0 entity))
|
||||
(let ((f30-0 (res-lump-float arg0 'fov))
|
||||
(s5-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -146,7 +142,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-slave-get-intro-step
|
||||
(defun cam-slave-get-intro-step ((arg0 entity))
|
||||
(let ((f30-0 (res-lump-float arg0 'intro-time))
|
||||
(s5-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -176,7 +171,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-slave-get-interp-time
|
||||
(defun cam-slave-get-interp-time ((arg0 entity))
|
||||
(let ((f30-0 (res-lump-float arg0 'interpTime))
|
||||
(s5-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -206,7 +200,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-slave-get-rot
|
||||
(defun cam-slave-get-rot ((arg0 entity-actor) (arg1 quaternion))
|
||||
(let ((s4-0 (method-of-type res-lump get-property-struct))
|
||||
(s3-0 arg0)
|
||||
@@ -242,7 +235,6 @@
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for function cam-state-from-entity
|
||||
(defun cam-state-from-entity ((arg0 entity))
|
||||
(let ((s5-0 (new 'stack 'curve)))
|
||||
(cond
|
||||
@@ -268,12 +260,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function parameter-ease-none
|
||||
(defun parameter-ease-none ((arg0 object))
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function parameter-ease-clamp
|
||||
(defun parameter-ease-clamp ((arg0 float))
|
||||
(cond
|
||||
((>= arg0 1.0)
|
||||
@@ -286,7 +276,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function parameter-ease-lerp-clamp
|
||||
(defun parameter-ease-lerp-clamp ((arg0 float))
|
||||
(cond
|
||||
((>= arg0 1.0)
|
||||
@@ -307,7 +296,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function parameter-ease-sqrt-clamp
|
||||
(defun parameter-ease-sqrt-clamp ((arg0 float))
|
||||
(cond
|
||||
((>= arg0 1.0)
|
||||
@@ -325,19 +313,16 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function fourth-power
|
||||
(defun fourth-power ((arg0 float))
|
||||
(let ((f0-2 (* arg0 arg0)))
|
||||
(* f0-2 f0-2)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function third-power
|
||||
(defun third-power ((arg0 float))
|
||||
(* arg0 arg0 arg0)
|
||||
)
|
||||
|
||||
;; definition for function parameter-ease-sqr-clamp
|
||||
(defun parameter-ease-sqr-clamp ((arg0 float))
|
||||
(cond
|
||||
((>= arg0 1.0)
|
||||
@@ -364,7 +349,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function parameter-ease-sin-clamp
|
||||
(defun parameter-ease-sin-clamp ((arg0 float))
|
||||
(cond
|
||||
((>= arg0 1.0)
|
||||
@@ -379,8 +363,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type cam-index
|
||||
;; Used lq/sq
|
||||
(defmethod
|
||||
dummy-9
|
||||
cam-index
|
||||
@@ -391,10 +373,9 @@
|
||||
(-> obj flags)
|
||||
(the-as uint (cam-slave-get-flags arg1 (string->symbol *res-key-string*)))
|
||||
)
|
||||
(let
|
||||
((s3-2 (res-lump-data arg1 arg0 pointer))
|
||||
(s0-1 (method-of-type res-lump get-property-struct))
|
||||
)
|
||||
(let ((s3-2 (res-lump-data arg1 arg0 pointer))
|
||||
(s0-1 (method-of-type res-lump get-property-struct))
|
||||
)
|
||||
(set! sv-32 format)
|
||||
(let ((a0-7 (clear *res-key-string*))
|
||||
(a1-4 "~S~S")
|
||||
@@ -485,8 +466,6 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for method 10 of type cam-index
|
||||
;; Used lq/sq
|
||||
(defmethod dummy-10 cam-index ((obj cam-index) (arg0 vector))
|
||||
(let ((s5-0 (new-stack-vector0)))
|
||||
0.0
|
||||
@@ -506,9 +485,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type tracking-spline
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod TODO-RENAME-10 tracking-spline ((obj tracking-spline) (arg0 vector))
|
||||
(set! (-> obj point 0 position quad) (-> arg0 quad))
|
||||
(set! (-> obj point 0 next) -134250495)
|
||||
@@ -533,8 +509,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 13 of type tracking-spline
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-13 tracking-spline ((obj tracking-spline) (arg0 int))
|
||||
(let ((v1-3 (-> obj point arg0 next)))
|
||||
(cond
|
||||
@@ -578,8 +552,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 14 of type tracking-spline
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-14 tracking-spline ((obj tracking-spline) (arg0 vector))
|
||||
(let ((v1-0 (-> obj used-point)))
|
||||
(set! (-> obj partial-point) (-> arg0 y))
|
||||
@@ -630,8 +602,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 15 of type tracking-spline
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-15 tracking-spline ((obj tracking-spline))
|
||||
(let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler)))
|
||||
(let ((a2-0 (new 'stack-no-clear 'tracking-point)))
|
||||
@@ -691,8 +661,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 16 of type tracking-spline
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-16 tracking-spline ((obj tracking-spline) (arg0 float))
|
||||
(let ((s4-0 (new 'stack-no-clear 'tracking-spline-sampler)))
|
||||
(let ((a2-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -748,8 +716,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 17 of type tracking-spline
|
||||
;; Used lq/sq
|
||||
(defmethod
|
||||
TODO-RENAME-17
|
||||
tracking-spline
|
||||
@@ -798,7 +764,6 @@
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for method 18 of type tracking-spline
|
||||
(defmethod
|
||||
TODO-RENAME-18
|
||||
tracking-spline
|
||||
@@ -864,7 +829,6 @@
|
||||
(the-as vector #f)
|
||||
)
|
||||
|
||||
;; definition for method 19 of type tracking-spline
|
||||
(defmethod
|
||||
TODO-RENAME-19
|
||||
tracking-spline
|
||||
@@ -878,8 +842,6 @@
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for method 20 of type tracking-spline
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod
|
||||
TODO-RENAME-20
|
||||
tracking-spline
|
||||
@@ -989,8 +951,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 21 of type tracking-spline
|
||||
;; Used lq/sq
|
||||
(defmethod
|
||||
TODO-RENAME-21
|
||||
tracking-spline
|
||||
@@ -1052,8 +1012,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for method 22 of type tracking-spline
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-22 tracking-spline ((obj tracking-spline) (arg0 float))
|
||||
(when (< arg0 (-> obj summed-len))
|
||||
(let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler)))
|
||||
@@ -1069,8 +1027,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type tracking-spline
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-9 tracking-spline ((obj tracking-spline))
|
||||
(let ((v1-0 (-> obj used-point))
|
||||
(s4-0 0)
|
||||
@@ -1123,8 +1079,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-slave-init-vars
|
||||
;; Used lq/sq
|
||||
(defbehavior cam-slave-init-vars camera-slave ()
|
||||
(cond
|
||||
(*camera*
|
||||
@@ -1212,13 +1166,11 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-slave-go
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defun cam-slave-go ((arg0 camera-slave))
|
||||
(defun cam-slave-go ((arg0 state))
|
||||
(with-pp
|
||||
(cam-slave-init-vars)
|
||||
(let ((t9-1 (the-as (function object) enter-state)))
|
||||
(set! (-> pp next-state) (the-as state arg0))
|
||||
(set! (-> pp next-state) arg0)
|
||||
(t9-1)
|
||||
)
|
||||
0
|
||||
@@ -1226,8 +1178,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-slave-init
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior cam-slave-init camera-slave ((arg0 state) (arg1 entity))
|
||||
(stack-size-set! (-> self main-thread) 512)
|
||||
(change-to-last-brother self)
|
||||
@@ -1252,7 +1202,7 @@
|
||||
(set! (-> a1-3 param 0) (the-as uint self))
|
||||
(let ((t9-4 send-event-function))
|
||||
(set! a0-4 *camera*)
|
||||
(t9-4 (the-as process a0-4) a1-3)
|
||||
(t9-4 (the-as camera-master a0-4) a1-3)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1273,13 +1223,10 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-standard-event-handler
|
||||
;; INFO: Return type mismatch none vs object.
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
|
||||
;; Used lq/sq
|
||||
(defbehavior
|
||||
cam-standard-event-handler camera-slave
|
||||
((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -1361,8 +1308,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-curve-pos
|
||||
;; Used lq/sq
|
||||
(defbehavior
|
||||
cam-curve-pos camera-slave
|
||||
((arg0 vector) (arg1 vector) (arg2 curve) (arg3 symbol))
|
||||
@@ -1456,8 +1401,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function cam-curve-setup
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior cam-curve-setup camera-slave ((arg0 vector))
|
||||
(when
|
||||
(get-curve-data!
|
||||
@@ -1513,8 +1456,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-calc-follow!
|
||||
;; Used lq/sq
|
||||
(defun cam-calc-follow! ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 symbol))
|
||||
(with-pp
|
||||
(cond
|
||||
@@ -1684,8 +1625,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function mat-remove-z-rot
|
||||
;; Used lq/sq
|
||||
(defun mat-remove-z-rot ((arg0 matrix) (arg1 vector))
|
||||
(let ((s4-0 (new-stack-vector0)))
|
||||
0.0
|
||||
@@ -1711,8 +1650,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function slave-matrix-blend-2
|
||||
;; Used lq/sq
|
||||
(defun
|
||||
slave-matrix-blend-2
|
||||
((arg0 matrix) (arg1 float) (arg2 vector) (arg3 matrix))
|
||||
@@ -1775,8 +1712,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function vector-into-frustum-nosmooth!
|
||||
;; Used lq/sq
|
||||
(defun vector-into-frustum-nosmooth! ((arg0 matrix) (arg1 vector) (arg2 float))
|
||||
(local-vars
|
||||
(sv-112 (inline-array vector))
|
||||
|
||||
@@ -211,7 +211,8 @@
|
||||
(deftype collide-shape-prim-group (collide-shape-prim)
|
||||
((num-prims int32 :offset-assert 72)
|
||||
(allocated-prims int32 :offset-assert 76)
|
||||
(prim uint32 1 :offset-assert 80) ; array of references
|
||||
(prim collide-shape-prim 1 :offset-assert 80)
|
||||
(prims collide-shape-prim :dynamic :score 20 :offset 80) ;; added
|
||||
)
|
||||
:method-count-assert 30
|
||||
:size-assert #x54
|
||||
@@ -375,7 +376,7 @@
|
||||
(set! (-> obj prim-core prim-type) 0)
|
||||
(while (nonzero? elt-count)
|
||||
(+! elt-count -1)
|
||||
(set! (-> obj prim elt-count) (the uint #f))
|
||||
(set! (-> obj prim elt-count) (the collide-shape-prim #f))
|
||||
(nop!)
|
||||
)
|
||||
obj
|
||||
|
||||
@@ -121,10 +121,11 @@
|
||||
(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-int11 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-vector102 vector :inline :offset 2224) ;; from (anon-function 3 basebutton)
|
||||
(unknown-vector103 vector :inline :offset 2240) ;; from (anon-function 3 basebutton)
|
||||
(unknown-smush00 smush-control :inline :offset 2288) ;; from (event target-fishing)
|
||||
(unknown-vector110 vector :inline :offset 2320) ;; from logic-target::flag-setup
|
||||
(unknown-vector111 vector :inline :offset 2336) ;; from logic-target::flag-setup
|
||||
(unknown-int30 int32 :offset 2384) ;; from target-util::target-danger-set!
|
||||
|
||||
@@ -292,7 +292,7 @@
|
||||
(new (symbol type process art-joint-geo) _type_ 0)
|
||||
(dummy-9 (_type_) (pointer int8) 9)
|
||||
(dummy-10 (_type_ int) int 10)
|
||||
(dummy-11 (_type_ pointer) int 11)
|
||||
(dummy-11 (_type_ lod-set) none 11)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
(define-extern *compact-actors* symbol)
|
||||
(define-extern find-instance-by-name (function string instance))
|
||||
(define-extern *edit-instance* string)
|
||||
(define-extern cam-free-floating state)
|
||||
(define-extern cam-free-floating (state camera-slave))
|
||||
(define-extern cam-standoff state)
|
||||
(define-extern cam-pov state)
|
||||
(define-extern cam-pov180 state)
|
||||
@@ -26,7 +26,7 @@
|
||||
(define-extern cam-eye state)
|
||||
(define-extern cam-point-watch state)
|
||||
(define-extern cam-orbit state)
|
||||
(define-extern cam-robotboss state)
|
||||
(define-extern cam-robotboss (state camera-slave))
|
||||
(define-extern cam-layout-stop (function none))
|
||||
(define-extern cam-layout-start (function none))
|
||||
(define-extern prototype-bucket-recalc-fields (function instance none))
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
((obj collide-shape-prim-group) (arg0 int))
|
||||
(&+! (-> obj cshape) arg0)
|
||||
(countdown (v1-2 (-> obj num-prims))
|
||||
(+! (-> obj prim v1-2) arg0)
|
||||
(&+! (-> obj prims v1-2) arg0)
|
||||
)
|
||||
obj
|
||||
)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
(water water-control :offset-assert 156)
|
||||
(sound ambient-sound :offset-assert 160)
|
||||
(state-flags uint32 :offset-assert 164)
|
||||
(state-time seconds :offset-assert 168)
|
||||
(state-time int64 :offset-assert 168)
|
||||
)
|
||||
:heap-base #x40
|
||||
:method-count-assert 20
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
(define-extern ja-anim-done? (function symbol))
|
||||
|
||||
(define-extern draw-eco-beam (function vector vector none))
|
||||
|
||||
;; decomp begins
|
||||
|
||||
(deftype manipy (process-drawable)
|
||||
@@ -24,7 +26,7 @@
|
||||
(cur-grab-handle handle :offset-assert 208)
|
||||
(cur-target-handle handle :offset-assert 216)
|
||||
(old-grab-pos vector :inline :offset-assert 224)
|
||||
(joint joint 4 :offset-assert 240)
|
||||
(joint process-drawable 4 :offset-assert 240)
|
||||
(new-post-hook function :offset-assert 256)
|
||||
(cur-post-hook function :offset-assert 260)
|
||||
(clone-copy-trans basic :offset-assert 264)
|
||||
@@ -133,10 +135,10 @@
|
||||
(deftype gui-query (structure)
|
||||
((x-position int32 :offset-assert 0)
|
||||
(y-position int32 :offset-assert 4)
|
||||
(message symbol :offset-assert 8) ;; a guess, i suspect its an `event-message-block`
|
||||
(message string :offset-assert 8)
|
||||
(decision symbol :offset-assert 12)
|
||||
(only-allow-cancel symbol :offset-assert 16)
|
||||
(no-msg symbol :offset-assert 20)
|
||||
(no-msg string :offset-assert 20)
|
||||
(message-space int32 :offset-assert 24)
|
||||
)
|
||||
:pack-me
|
||||
@@ -144,8 +146,8 @@
|
||||
:size-assert #x1c
|
||||
:flag-assert #xb0000001c
|
||||
(:methods
|
||||
(init! (_type_ symbol int int int symbol symbol) none 9)
|
||||
(dummy-10 (_type_) symbol 10)
|
||||
(init! (_type_ string int int int symbol string) none 9)
|
||||
(get-response (_type_) symbol 10)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
;; name in dgo: projectiles
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
;; definition of type search-info
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype search-info (structure)
|
||||
((point vector :inline :offset-assert 0)
|
||||
(best-point vector :inline :offset-assert 16)
|
||||
@@ -24,11 +25,9 @@
|
||||
:flag-assert #x900000054
|
||||
)
|
||||
|
||||
;; definition for symbol *search-info*, type search-info
|
||||
|
||||
(define *search-info* (new 'global 'search-info))
|
||||
|
||||
;; definition for function find-nearest-attackable
|
||||
;; Used lq/sq
|
||||
(defun
|
||||
find-nearest-attackable
|
||||
((arg0 vector)
|
||||
@@ -197,9 +196,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function projectile-collision-reaction
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun
|
||||
projectile-collision-reaction
|
||||
((arg0 collide-shape-moving)
|
||||
@@ -318,7 +314,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-group-id-table* 102)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -367,7 +362,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 349)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -386,7 +380,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 350)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -412,7 +405,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 351)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -438,7 +430,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 352)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -463,7 +454,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 353)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -497,7 +487,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 354)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -509,7 +498,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-group-id-table* 103)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -545,7 +533,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 355)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -570,7 +557,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 357)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -601,7 +587,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 356)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -631,7 +616,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 360)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -661,7 +645,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 358)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -684,7 +667,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 361)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -707,7 +689,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 359)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -738,7 +719,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-group-id-table* 104)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -758,7 +738,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2060)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -789,7 +768,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2063)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -804,7 +782,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2062)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -828,7 +805,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2059)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -850,7 +826,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2061)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -883,7 +858,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2064)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -898,8 +872,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 24 of type projectile
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-24 projectile ((obj projectile))
|
||||
(spawn
|
||||
(-> obj part)
|
||||
@@ -909,14 +881,11 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 28 of type projectile
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-28 projectile ((obj projectile))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate projectile-moving (projectile)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -996,10 +965,7 @@
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
@@ -1007,7 +973,7 @@
|
||||
(let ((gp-0 #f))
|
||||
(while
|
||||
(<
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(the-as int (-> self timeout))
|
||||
)
|
||||
(let ((s5-0 (the int (-> *display* time-ratio))))
|
||||
@@ -1087,9 +1053,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function projectile-update-velocity-space-wars
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun projectile-update-velocity-space-wars ((arg0 projectile))
|
||||
(let
|
||||
((s5-1
|
||||
@@ -1151,7 +1114,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate projectile-impact (projectile)
|
||||
:virtual #t
|
||||
:code
|
||||
@@ -1197,7 +1159,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate projectile-dissipate (projectile)
|
||||
:virtual #t
|
||||
:code
|
||||
@@ -1243,15 +1204,11 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 27 of type projectile
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-27 projectile ((obj projectile))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 26 of type projectile
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-26 projectile ((obj projectile))
|
||||
(let
|
||||
((s5-0
|
||||
@@ -1279,15 +1236,12 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 25 of type projectile
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-25 projectile ((obj projectile))
|
||||
(go (method-of-object obj projectile-moving))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate projectile-die (projectile)
|
||||
:virtual #t
|
||||
:code
|
||||
@@ -1308,7 +1262,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type projectile
|
||||
(defmethod deactivate projectile ((obj projectile))
|
||||
(if (nonzero? (-> obj sound-id))
|
||||
(sound-stop (-> obj sound-id))
|
||||
@@ -1317,8 +1270,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function projectile-init-by-other
|
||||
;; Used lq/sq
|
||||
(defbehavior
|
||||
projectile-init-by-other projectile
|
||||
((arg0 entity) (arg1 vector) (arg2 vector) (arg3 uint) (arg4 handle))
|
||||
@@ -1378,9 +1329,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 27 of type projectile-yellow
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod dummy-27 projectile-yellow ((obj projectile-yellow))
|
||||
(cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 30)
|
||||
(set! (-> obj attack-mode) 'eco-yellow)
|
||||
@@ -1518,8 +1466,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 26 of type projectile-yellow
|
||||
;; INFO: Return type mismatch uint vs none.
|
||||
(defmethod dummy-26 projectile-yellow ((obj projectile-yellow))
|
||||
(let ((t9-0 (method-of-type projectile dummy-26)))
|
||||
(t9-0 obj)
|
||||
@@ -1528,8 +1474,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 24 of type projectile-yellow
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-24 projectile-yellow ((obj projectile-yellow))
|
||||
(with-pp
|
||||
(find-ground-and-draw-shadow
|
||||
@@ -1558,16 +1502,8 @@
|
||||
)
|
||||
(cond
|
||||
((logtest? (-> obj options) 32)
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> obj state-time)))
|
||||
15
|
||||
)
|
||||
(when
|
||||
(<
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> obj state-time)))
|
||||
150
|
||||
)
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> obj state-time)) 15)
|
||||
(when (< (- (-> *display* base-frame-counter) (-> obj state-time)) 150)
|
||||
(set!
|
||||
(-> *part-id-table* 353 init-specs 16 initial-valuef)
|
||||
(the-as float 0)
|
||||
@@ -1618,9 +1554,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 28 of type projectile-yellow
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod dummy-28 projectile-yellow ((obj projectile-yellow))
|
||||
(cond
|
||||
((or
|
||||
@@ -1725,9 +1658,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 27 of type projectile-blue
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod dummy-27 projectile-blue ((obj projectile-blue))
|
||||
(cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 30)
|
||||
(sound-play-by-name
|
||||
@@ -1780,8 +1710,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 26 of type projectile-blue
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-26 projectile-blue ((obj projectile-blue))
|
||||
(let
|
||||
((s5-0
|
||||
@@ -1809,9 +1737,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function spawn-projectile-blue
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun spawn-projectile-blue ((arg0 target))
|
||||
(local-vars (sv-48 entity))
|
||||
(with-pp
|
||||
@@ -1875,8 +1800,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 28 of type projectile-blue
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-28 projectile-blue ((obj projectile-blue))
|
||||
(let* ((s5-0 (handle->process (-> obj last-target)))
|
||||
(v1-4
|
||||
@@ -1903,8 +1826,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 24 of type projectile-blue
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-24 projectile-blue ((obj projectile-blue))
|
||||
(if (rand-vu-percent? 0.75)
|
||||
(eco-blue-glow
|
||||
@@ -1915,7 +1836,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate projectile-impact (projectile-blue)
|
||||
:virtual #t
|
||||
:code
|
||||
@@ -1925,7 +1845,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate projectile-dissipate (projectile-blue)
|
||||
:virtual #t
|
||||
:code
|
||||
|
||||
@@ -28,12 +28,12 @@
|
||||
init!
|
||||
gui-query
|
||||
((obj gui-query)
|
||||
(arg0 symbol)
|
||||
(arg0 string)
|
||||
(arg1 int)
|
||||
(arg2 int)
|
||||
(arg3 int)
|
||||
(arg4 symbol)
|
||||
(arg5 symbol)
|
||||
(arg5 string)
|
||||
)
|
||||
(set! (-> obj x-position) arg1)
|
||||
(set! (-> obj y-position) arg2)
|
||||
@@ -47,7 +47,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type gui-query
|
||||
(defmethod dummy-10 gui-query ((obj gui-query))
|
||||
(defmethod get-response gui-query ((obj gui-query))
|
||||
(kill-current-level-hint '() '(sidekick voicebox stinger) 'exit)
|
||||
(level-hint-surpress!)
|
||||
(hide-hud)
|
||||
@@ -77,7 +77,7 @@
|
||||
(set! (-> v1-6 scale) 0.9)
|
||||
)
|
||||
(set! (-> a1-2 flags) (font-flags shadow kerning left large))
|
||||
(print-game-text (the-as string (-> obj message)) a1-2 #f 128 22)
|
||||
(print-game-text (-> obj message) a1-2 #f 128 22)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
@@ -295,16 +295,20 @@
|
||||
)
|
||||
|
||||
;; definition for method 34 of type process-taskable
|
||||
(defmethod TODO-RENAME-34 process-taskable ((obj process-taskable) (arg0 symbol))
|
||||
#f
|
||||
;; INFO: Return type mismatch symbol vs spool-anim.
|
||||
(defmethod
|
||||
get-accept-anim
|
||||
process-taskable
|
||||
((obj process-taskable) (arg0 symbol))
|
||||
(the-as spool-anim #f)
|
||||
)
|
||||
|
||||
;; definition for method 35 of type process-taskable
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-35 process-taskable ((obj process-taskable))
|
||||
(let ((s5-0 (the-as basic (TODO-RENAME-34 obj #f))))
|
||||
(if (type-type? (-> (the-as symbol s5-0) type) spool-anim)
|
||||
(spool-push *art-control* (-> (the-as spool-anim s5-0) name) 0 obj -99.0)
|
||||
(defmethod push-accept-anim process-taskable ((obj process-taskable))
|
||||
(let ((s5-0 (get-accept-anim obj #f)))
|
||||
(if (type-type? (-> s5-0 type) spool-anim)
|
||||
(spool-push *art-control* (-> s5-0 name) 0 obj -99.0)
|
||||
)
|
||||
)
|
||||
0
|
||||
@@ -312,20 +316,20 @@
|
||||
)
|
||||
|
||||
;; definition for method 36 of type process-taskable
|
||||
;; INFO: Return type mismatch symbol vs basic.
|
||||
;; INFO: Return type mismatch symbol vs spool-anim.
|
||||
(defmethod
|
||||
get-spool-anim-or-??
|
||||
get-reject-anim
|
||||
process-taskable
|
||||
((obj process-taskable) (arg0 symbol))
|
||||
(the-as basic #f)
|
||||
(the-as spool-anim #f)
|
||||
)
|
||||
|
||||
;; definition for method 37 of type process-taskable
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod spool-push-anim process-taskable ((obj process-taskable))
|
||||
(let ((s5-0 (get-spool-anim-or-?? obj #f)))
|
||||
(defmethod push-reject-anim process-taskable ((obj process-taskable))
|
||||
(let ((s5-0 (get-reject-anim obj #f)))
|
||||
(if (type-type? (-> s5-0 type) spool-anim)
|
||||
(spool-push *art-control* (-> (the-as spool-anim s5-0) name) 0 obj -99.0)
|
||||
(spool-push *art-control* (-> s5-0 name) 0 obj -99.0)
|
||||
)
|
||||
)
|
||||
0
|
||||
@@ -441,7 +445,7 @@
|
||||
#t
|
||||
"ERROR<GMJ>: ~S got into give-cell with give-cell == #f task = ~S~%"
|
||||
(-> self name)
|
||||
(game-task->string (the-as game-task (current-task (-> self tasks))))
|
||||
(game-task->string (current-task (-> self tasks)))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -461,10 +465,7 @@
|
||||
:virtual #t
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
@@ -508,7 +509,7 @@
|
||||
|
||||
;; definition for function process-taskable-play-anim-enter
|
||||
(defbehavior process-taskable-play-anim-enter process-taskable ()
|
||||
(init! (-> self query) #f 40 150 25 #t #f)
|
||||
(init! (-> self query) (the-as string #f) 40 150 25 #t (the-as string #f))
|
||||
(logior! (-> self skel status) 8)
|
||||
(let ((gp-0 (get-process *default-dead-pool* othercam #x4000)))
|
||||
(set! (-> self camera) (ppointer->handle (when gp-0
|
||||
@@ -678,7 +679,7 @@
|
||||
arg0
|
||||
(the-as art-joint-anim (-> self blend-on-exit))
|
||||
(lambda ((arg0 process-taskable))
|
||||
(= (dummy-10 (-> arg0 query)) 'no)
|
||||
(= (get-response (-> arg0 query)) 'no)
|
||||
)
|
||||
)
|
||||
(ja-play-spooled-anim
|
||||
@@ -770,7 +771,7 @@
|
||||
)
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(when (and *debug-segment* (= (dummy-10 (-> self query)) 'no))
|
||||
(when (and *debug-segment* (= (get-response (-> self query)) 'no))
|
||||
(let ((v1-106 (-> self skel root-channel 0)))
|
||||
(set! (-> v1-106 num-func) num-func-identity)
|
||||
(set!
|
||||
@@ -818,7 +819,7 @@
|
||||
(behavior ()
|
||||
(process-taskable-play-anim-code
|
||||
(the-as art-joint-anim (get-art-elem self))
|
||||
(TODO-RENAME-34 self #t)
|
||||
(get-accept-anim self #t)
|
||||
)
|
||||
(while (not (process-release? *target*))
|
||||
(suspend)
|
||||
@@ -850,7 +851,7 @@
|
||||
(behavior ()
|
||||
(process-taskable-play-anim-code
|
||||
(the-as art-joint-anim (get-art-elem self))
|
||||
(get-spool-anim-or-?? self #t)
|
||||
(get-reject-anim self #t)
|
||||
)
|
||||
(go-virtual release)
|
||||
(none)
|
||||
@@ -866,12 +867,12 @@
|
||||
(behavior ()
|
||||
(init!
|
||||
(-> self query)
|
||||
(the-as symbol (lookup-text! *common-text* (game-text-id confirm-play) #f))
|
||||
(lookup-text! *common-text* (game-text-id confirm-play) #f)
|
||||
40
|
||||
150
|
||||
25
|
||||
#f
|
||||
(the-as symbol (lookup-text! *common-text* (game-text-id quit) #f))
|
||||
(lookup-text! *common-text* (game-text-id quit) #f)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
@@ -880,8 +881,8 @@
|
||||
:trans
|
||||
(behavior ()
|
||||
(case (current-status (-> self tasks))
|
||||
((4)
|
||||
(case (dummy-10 (-> self query))
|
||||
(((task-status need-reminder-a))
|
||||
(case (get-response (-> self query))
|
||||
(('yes)
|
||||
(go-virtual play-accept)
|
||||
)
|
||||
@@ -889,10 +890,10 @@
|
||||
(go-virtual play-reject)
|
||||
)
|
||||
)
|
||||
(dummy-35 self)
|
||||
(push-accept-anim self)
|
||||
)
|
||||
(else
|
||||
(let ((gp-0 (dummy-10 (-> self query))))
|
||||
(let ((gp-0 (get-response (-> self query))))
|
||||
(cond
|
||||
((and (= gp-0 'yes) (process-release? *target*))
|
||||
(go-virtual enter-playing)
|
||||
@@ -904,7 +905,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(spool-push-anim self)
|
||||
(push-reject-anim self)
|
||||
(set! *camera-look-through-other* 2)
|
||||
((-> self cur-trans-hook))
|
||||
(none)
|
||||
@@ -1018,7 +1019,7 @@
|
||||
;; definition for function process-taskable-hide-enter
|
||||
;; INFO: Return type mismatch none vs int.
|
||||
(defbehavior process-taskable-hide-enter process-taskable ()
|
||||
(set! (-> self state-time) (the-as seconds (-> *display* base-frame-counter)))
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(let ((v1-3 (-> self draw shadow-ctrl)))
|
||||
(logior! (-> v1-3 settings flags) 32)
|
||||
)
|
||||
@@ -1324,10 +1325,7 @@
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(process-taskable-clean-up-after-talking)
|
||||
(none)
|
||||
)
|
||||
@@ -1415,7 +1413,12 @@
|
||||
(first-any (-> self tasks) #t)
|
||||
(when (target-above-threshold? self)
|
||||
(case (current-status (-> self tasks))
|
||||
((2 3 5 4 6)
|
||||
(((task-status need-hint)
|
||||
(task-status need-introduction)
|
||||
(task-status need-reminder)
|
||||
(task-status need-reminder-a)
|
||||
(task-status need-reward-speech)
|
||||
)
|
||||
(kill-current-level-hint '() '(sidekick voicebox ambient) 'exit)
|
||||
(level-hint-surpress!)
|
||||
(hide-hud)
|
||||
@@ -1639,7 +1642,7 @@
|
||||
((not (should-display? obj))
|
||||
(go (method-of-object obj hidden))
|
||||
)
|
||||
((= (current-status (-> obj tasks)) 7)
|
||||
((= (current-status (-> obj tasks)) (task-status need-resolution))
|
||||
(go (method-of-object obj give-cell))
|
||||
)
|
||||
(else
|
||||
@@ -1666,10 +1669,7 @@
|
||||
(arg2 float)
|
||||
(arg3 process-drawable)
|
||||
)
|
||||
(set!
|
||||
(-> obj last-ambient-time)
|
||||
(the-as uint (-> *display* game-frame-counter))
|
||||
)
|
||||
(set! (-> obj last-ambient-time) (-> *display* game-frame-counter))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
@@ -1685,13 +1685,7 @@
|
||||
(arg3 process-drawable)
|
||||
)
|
||||
(when
|
||||
(<
|
||||
(-
|
||||
(-> *display* game-frame-counter)
|
||||
(the-as int (-> obj last-ambient-time))
|
||||
)
|
||||
arg1
|
||||
)
|
||||
(< (- (-> *display* game-frame-counter) (-> obj last-ambient-time)) arg1)
|
||||
(set! arg0 (the-as vector #f))
|
||||
(goto cfg-6)
|
||||
)
|
||||
@@ -1706,20 +1700,17 @@
|
||||
|
||||
;; definition for method 11 of type ambient-control
|
||||
(defmethod
|
||||
dummy-11
|
||||
play-ambient
|
||||
ambient-control
|
||||
((obj ambient-control) (arg0 string) (arg1 symbol) (arg2 vector))
|
||||
(when
|
||||
(and
|
||||
(not (string= arg0 (the-as string (-> obj last-ambient))))
|
||||
(not (string= arg0 (-> obj last-ambient)))
|
||||
(or arg1 (can-hint-be-played? 1 (the-as entity #f) (the-as string #f)))
|
||||
(= (-> *level* loading-level) (-> *level* level-default))
|
||||
(ambient-hint-spawn arg0 arg2 *entity-pool* 'ambient)
|
||||
)
|
||||
(set!
|
||||
(-> obj last-ambient-time)
|
||||
(the-as uint (-> *display* game-frame-counter))
|
||||
)
|
||||
(set! (-> obj last-ambient-time) (-> *display* game-frame-counter))
|
||||
(set! (-> obj last-ambient) arg0)
|
||||
(return #t)
|
||||
)
|
||||
|
||||
@@ -78,8 +78,8 @@
|
||||
:size-assert #xc
|
||||
:flag-assert #x130000000c
|
||||
(:methods
|
||||
(current-task (_type_) int 9)
|
||||
(current-status (_type_) int 10)
|
||||
(current-task (_type_) game-task 9)
|
||||
(current-status (_type_) task-status 10)
|
||||
(close-current! (_type_) none 11)
|
||||
(close-status! (_type_ task-status) int 12)
|
||||
(first-any (_type_ symbol) int 13)
|
||||
@@ -92,9 +92,9 @@
|
||||
)
|
||||
|
||||
(deftype ambient-control (structure)
|
||||
((last-ambient-time uint64 :offset-assert 0)
|
||||
(last-ambient basic :offset-assert 8)
|
||||
(last-ambient-id uint32 :offset-assert 12)
|
||||
((last-ambient-time int64 :offset-assert 0)
|
||||
(last-ambient string :offset-assert 8)
|
||||
(last-ambient-id sound-id :offset-assert 12)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x10
|
||||
@@ -102,7 +102,7 @@
|
||||
(:methods
|
||||
(dummy-9 (_type_ vector int float process-drawable) none 9)
|
||||
(TODO-RENAME-10 (_type_ vector int float process-drawable) vector 10)
|
||||
(dummy-11 (_type_ string symbol vector) symbol 11)
|
||||
(play-ambient (_type_ string symbol vector) symbol 11)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -153,10 +153,10 @@
|
||||
(get-art-elem (_type_) art-element 31)
|
||||
(play-anim! (_type_ symbol) basic 32) ;; ret - spool-anim | ..
|
||||
(dummy-33 (_type_) none 33)
|
||||
(TODO-RENAME-34 (_type_ symbol) symbol 34)
|
||||
(dummy-35 (_type_) none 35)
|
||||
(get-spool-anim-or-?? (_type_ symbol) basic 36) ;; ret - spool-anim | ..
|
||||
(spool-push-anim (_type_) none 37)
|
||||
(get-accept-anim (_type_ symbol) spool-anim 34)
|
||||
(push-accept-anim (_type_) none 35)
|
||||
(get-reject-anim (_type_ symbol) spool-anim 36) ;; ret - spool-anim | ..
|
||||
(push-reject-anim (_type_) none 37)
|
||||
(dummy-38 (_type_) none 38)
|
||||
(should-display? (_type_) symbol 39)
|
||||
(dummy-40 (_type_ object skeleton-group int int vector int) none 40)
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
)
|
||||
(else
|
||||
;; look up the current cstage's task
|
||||
(the-as int (-> obj stage (-> obj current-stage) game-task))
|
||||
(-> obj stage (-> obj current-stage) game-task)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -131,7 +131,7 @@
|
||||
(task-status invalid)
|
||||
)
|
||||
(else
|
||||
(the-as int (-> obj stage (-> obj current-stage) status))
|
||||
(-> obj stage (-> obj current-stage) status)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -366,8 +366,8 @@
|
||||
((mask uint16 :offset-assert 4)
|
||||
(num float :offset-assert 8)
|
||||
(group uint8 :offset-assert 12)
|
||||
(sound-name-char uint8 16 :offset 16)
|
||||
(sound-name sound-name :offset 16)
|
||||
(sound-name sound-name :score 20 :offset 16)
|
||||
(sound-name-char uint8 16 :offset 16) ;; moved to after sound-name
|
||||
(trans float 4 :offset-assert 32) ;; guess
|
||||
(volume int32 :offset-assert 48)
|
||||
(pitch-mod int32 :offset-assert 52)
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
(confirm #x103)
|
||||
(press-to-use #x105)
|
||||
(confirm-play #x106)
|
||||
(play-again? #x107)
|
||||
(quit #x108)
|
||||
(pause #x109)
|
||||
(sfx-volume #x10a)
|
||||
@@ -155,13 +156,20 @@
|
||||
|
||||
(beach-seagulls-avalanche #x273)
|
||||
|
||||
(sidekick-hint-fish-powerup #x278)
|
||||
|
||||
(yakow-owed-powercell #x297)
|
||||
|
||||
(misty-teetertotter-bonk-dax-tutorial #x2a4)
|
||||
|
||||
(daxter-blue-eco-plat-tutorial #x2a7)
|
||||
|
||||
(firecanyon-collect-cells-text #x2b3)
|
||||
(fish? #x2a9)
|
||||
|
||||
(yakow-owed-powercell #x297)
|
||||
(firecanyon-collect-cells-text #x2b3)
|
||||
(caught #x2b4)
|
||||
(missed #x2b5)
|
||||
(lose! #x2b6)
|
||||
|
||||
(village2-gambler-money #x300)
|
||||
(village2-geologist-money #x301)
|
||||
@@ -272,7 +280,7 @@
|
||||
(ogre-end #x600)
|
||||
(ogre-buzzer #x601)
|
||||
(ogre-boss #x603)
|
||||
|
||||
|
||||
(assistant-voicebox-intro-ogre-race #x605)
|
||||
|
||||
(sidekick-speech-hint-ogre-race #x61c)
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
(define-extern scf-get-inactive-timeout (function int))
|
||||
;; dma-to-iop
|
||||
(define-extern kernel-shutdown (function none))
|
||||
;; aybabtu
|
||||
(define-extern aybabtu (function int int))
|
||||
;; *stack-top*
|
||||
;; *stack-base*
|
||||
;; *stack-size*
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
|
||||
(defmethod play-anim! bird-lady ((obj bird-lady) (arg0 symbol))
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(if arg0
|
||||
(close-status! (-> obj tasks) (task-status need-introduction))
|
||||
)
|
||||
@@ -176,7 +176,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(cond
|
||||
((zero? (get-reminder (-> obj tasks) 0))
|
||||
@@ -209,7 +209,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string (the-as task-status (current-status (-> obj tasks))))
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 3)
|
||||
@@ -236,13 +236,13 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.66 f0-2)
|
||||
(dummy-11 (-> obj ambient) "BIR-LO02" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "BIR-LO02" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.33 f0-2)
|
||||
(dummy-11 (-> obj ambient) "BIR-LO03" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "BIR-LO03" #f (-> obj root-override trans))
|
||||
)
|
||||
(else
|
||||
(dummy-11 (-> obj ambient) "BIR-am08" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "BIR-am08" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
;; dgos: BEA, L1
|
||||
|
||||
(define-extern *lurkercrab-sg* skeleton-group)
|
||||
(declare-type lurkercrab nav-enemy)
|
||||
(define-extern lurkercrab-pushed (state lurkercrab))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
@@ -87,6 +85,9 @@
|
||||
:method-count-assert 76
|
||||
:size-assert #x194
|
||||
:flag-assert #x4c01300194
|
||||
(:states
|
||||
lurkercrab-pushed
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -1008,11 +1009,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
300
|
||||
)
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
|
||||
(let ((v1-7 (-> self skel root-channel 0)))
|
||||
(set! (-> v1-7 num-func) num-func-identity)
|
||||
(set! (-> v1-7 frame-num) 0.0)
|
||||
@@ -1109,11 +1106,11 @@ nav-enemy-default-event-handler
|
||||
:run-travel-speed (meters 5.0)
|
||||
:run-rotate-speed (degrees 999.99994)
|
||||
:run-acceleration (meters 12.0)
|
||||
:run-turn-time #x1e
|
||||
:run-turn-time (seconds 0.1)
|
||||
:walk-travel-speed (meters 2.0)
|
||||
:walk-rotate-speed (degrees 999.99994)
|
||||
:walk-acceleration (meters 12.0)
|
||||
:walk-turn-time #x1e
|
||||
:walk-turn-time (seconds 0.1)
|
||||
:attack-shove-back (meters 1.2)
|
||||
:attack-shove-up (meters 1.5)
|
||||
:shadow-size (meters 2.0)
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
(with-pp
|
||||
(set! (-> obj talk-message) (the-as uint 260))
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(when arg0
|
||||
(close-specific-task!
|
||||
(game-task jungle-lurkerm)
|
||||
@@ -446,7 +446,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((4 5)
|
||||
(((task-status need-reminder-a) (task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(cond
|
||||
((closed?
|
||||
@@ -1677,21 +1677,18 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(if (not arg0)
|
||||
(set! (-> obj will-talk) #t)
|
||||
)
|
||||
(case (current-task (-> obj tasks))
|
||||
((3)
|
||||
(((game-task jungle-lurkerm))
|
||||
(mayor-lurkerm-reward-speech obj arg0)
|
||||
)
|
||||
(else
|
||||
(cond
|
||||
(arg0
|
||||
(set!
|
||||
(-> obj cell-for-task)
|
||||
(the-as game-task (current-task (-> obj tasks)))
|
||||
)
|
||||
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
|
||||
(close-current! (-> obj tasks))
|
||||
(let ((a1-15 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-15 from) pp)
|
||||
@@ -2019,9 +2016,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 3)
|
||||
@@ -2064,7 +2059,12 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "CHI-LO01" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"CHI-LO01"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.7777778 f0-2)
|
||||
@@ -2076,7 +2076,12 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "CHI-LO02" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"CHI-LO02"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.6666667 f0-2)
|
||||
@@ -2088,17 +2093,22 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "CHI-AM07" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"CHI-AM07"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.5555556 f0-2)
|
||||
(dummy-11 (-> obj ambient) "CHI-AM06" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "CHI-AM06" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.44444445 f0-2)
|
||||
(dummy-11 (-> obj ambient) "CHI-AM05" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "CHI-AM05" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.33333334 f0-2)
|
||||
(dummy-11 (-> obj ambient) "CHI-AM04" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "CHI-AM04" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.22222222 f0-2)
|
||||
(if
|
||||
@@ -2109,7 +2119,12 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "CHI-AM03" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"CHI-AM03"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.11111111 f0-2)
|
||||
@@ -2121,7 +2136,12 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "CHI-AM02" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"CHI-AM02"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
@@ -2133,7 +2153,12 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "CHI-AM01" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"CHI-AM01"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
(defmethod play-anim! sculptor ((obj sculptor) (arg0 symbol))
|
||||
(with-pp
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(if arg0
|
||||
(close-status! (-> obj tasks) (task-status need-introduction))
|
||||
)
|
||||
@@ -264,7 +264,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(new 'static 'spool-anim
|
||||
:name "sculptor-reminder-1"
|
||||
@@ -273,12 +273,9 @@
|
||||
:command-list '()
|
||||
)
|
||||
)
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(when arg0
|
||||
(set!
|
||||
(-> obj cell-for-task)
|
||||
(the-as game-task (current-task (-> obj tasks)))
|
||||
)
|
||||
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
|
||||
(close-current! (-> obj tasks))
|
||||
(let ((s5-1 (get-process *default-dead-pool* manipy #x4000)))
|
||||
(set! (-> obj muse) (ppointer->handle (when s5-1
|
||||
@@ -346,9 +343,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 4)
|
||||
@@ -358,9 +353,11 @@
|
||||
)
|
||||
|
||||
(defmethod get-art-elem sculptor ((obj sculptor))
|
||||
(let ((v1-1 (current-status (-> obj tasks))))
|
||||
(if (or (zero? v1-1) (= v1-1 7))
|
||||
(-> obj draw art-group data 11)
|
||||
(case (current-status (-> obj tasks))
|
||||
(((task-status invalid) (task-status need-resolution))
|
||||
(-> obj draw art-group data 11)
|
||||
)
|
||||
(else
|
||||
(-> obj draw art-group data 3)
|
||||
)
|
||||
)
|
||||
@@ -381,25 +378,25 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.85714287 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SCU-LO01" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SCU-LO01" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.71428573 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SCU-AM05" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SCU-AM05" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.5714286 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SCU-AM06" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SCU-AM06" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.42857143 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SCU-AM03" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SCU-AM03" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.2857143 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SCU-AM04" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SCU-AM04" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.14285715 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SCU-AM01" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SCU-AM01" #f (-> obj root-override trans))
|
||||
)
|
||||
(else
|
||||
(dummy-11 (-> obj ambient) "SCU-AM02" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SCU-AM02" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -436,58 +433,61 @@
|
||||
(suspend)
|
||||
(ja-eval)
|
||||
)
|
||||
(let ((v1-16 (current-status (-> self tasks))))
|
||||
(when (or (zero? v1-16) (= v1-16 7))
|
||||
(let ((a0-12 (-> self skel root-channel 0)))
|
||||
(set!
|
||||
(-> a0-12 frame-group)
|
||||
(the-as art-joint-anim (-> self draw art-group data 12))
|
||||
)
|
||||
(set!
|
||||
(-> a0-12 param 0)
|
||||
(the
|
||||
float
|
||||
(+
|
||||
(->
|
||||
(the-as art-joint-anim (-> self draw art-group data 12))
|
||||
data
|
||||
0
|
||||
length
|
||||
(case (current-status (-> self tasks))
|
||||
(((task-status invalid) (task-status need-resolution))
|
||||
(let ((a0-12 (-> self skel root-channel 0)))
|
||||
(set!
|
||||
(-> a0-12 frame-group)
|
||||
(the-as art-joint-anim (-> self draw art-group data 12))
|
||||
)
|
||||
(set!
|
||||
(-> a0-12 param 0)
|
||||
(the
|
||||
float
|
||||
(+
|
||||
(->
|
||||
(the-as art-joint-anim (-> self draw art-group data 12))
|
||||
data
|
||||
0
|
||||
length
|
||||
)
|
||||
-1
|
||||
)
|
||||
-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> a0-12 param 1) 1.0)
|
||||
(set! (-> a0-12 frame-num) 0.0)
|
||||
(joint-control-channel-group!
|
||||
a0-12
|
||||
(the-as art-joint-anim (-> self draw art-group data 12))
|
||||
num-func-seek!
|
||||
)
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(let ((a0-13 (-> self skel root-channel 0)))
|
||||
(set!
|
||||
(-> a0-13 param 0)
|
||||
(the float (+ (-> a0-13 frame-group data 0 length) -1))
|
||||
)
|
||||
(set! (-> a0-13 param 1) 1.0)
|
||||
(joint-control-channel-group-eval!
|
||||
a0-13
|
||||
(the-as art-joint-anim #f)
|
||||
(set! (-> a0-12 param 1) 1.0)
|
||||
(set! (-> a0-12 frame-num) 0.0)
|
||||
(joint-control-channel-group!
|
||||
a0-12
|
||||
(the-as art-joint-anim (-> self draw art-group data 12))
|
||||
num-func-seek!
|
||||
)
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(let ((a0-13 (-> self skel root-channel 0)))
|
||||
(set!
|
||||
(-> a0-13 param 0)
|
||||
(the float (+ (-> a0-13 frame-group data 0 length) -1))
|
||||
)
|
||||
(set! (-> a0-13 param 1) 1.0)
|
||||
(joint-control-channel-group-eval!
|
||||
a0-13
|
||||
(the-as art-joint-anim #f)
|
||||
num-func-seek!
|
||||
)
|
||||
)
|
||||
)
|
||||
(muse-to-idle (the-as muse self))
|
||||
)
|
||||
(muse-to-idle (the-as muse self))
|
||||
)
|
||||
)
|
||||
(while #t
|
||||
(let ((v1-43 (current-status (-> self tasks))))
|
||||
(cond
|
||||
((or (zero? v1-43) (= v1-43 7))
|
||||
((or
|
||||
(= v1-43 (task-status invalid))
|
||||
(= v1-43 (task-status need-resolution))
|
||||
)
|
||||
(let ((a0-18 (-> self skel root-channel 0)))
|
||||
(set!
|
||||
(-> a0-18 frame-group)
|
||||
|
||||
@@ -21,10 +21,8 @@
|
||||
(define-extern citb-drop-plat-active (state citb-drop-plat)) ;; unknown type
|
||||
(define-extern drop-plat-spawn (state drop-plat)) ;; unknown type
|
||||
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
;; DECOMP BEGINS
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-0
|
||||
(new 'static 'skeleton-group
|
||||
@@ -44,7 +42,6 @@
|
||||
(set! *citb-drop-plat-sg* v1-0)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-1
|
||||
(new 'static 'skeleton-group
|
||||
@@ -64,7 +61,6 @@
|
||||
(set! *citb-drop-plat-red-sg* v1-1)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-2
|
||||
(new 'static 'skeleton-group
|
||||
@@ -84,7 +80,6 @@
|
||||
(set! *citb-drop-plat-green-sg* v1-2)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-3
|
||||
(new 'static 'skeleton-group
|
||||
@@ -104,7 +99,6 @@
|
||||
(set! *citb-drop-plat-blue-sg* v1-3)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-4
|
||||
(new 'static 'skeleton-group
|
||||
@@ -124,7 +118,6 @@
|
||||
(set! *citb-drop-plat-yellow-sg* v1-4)
|
||||
)
|
||||
|
||||
;; definition of type drop-plat
|
||||
(deftype drop-plat (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
(spin-axis vector :inline :offset-assert 176)
|
||||
@@ -145,7 +138,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(defstate drop-plat-idle (drop-plat)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -183,15 +176,12 @@
|
||||
(behavior ()
|
||||
(suspend)
|
||||
(dummy-47 (-> self root-override))
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(logior! (-> self mask) (process-mask actor-pause))
|
||||
(while #t
|
||||
(if
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(the-as int (-> self duration))
|
||||
)
|
||||
(go drop-plat-drop)
|
||||
@@ -204,8 +194,6 @@
|
||||
(the-as (function none :behavior drop-plat) ja-post)
|
||||
)
|
||||
|
||||
;; definition for function drop-plat-set-fade
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior drop-plat-set-fade drop-plat ()
|
||||
(let
|
||||
((f0-1
|
||||
@@ -230,7 +218,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate drop-plat-spawn (drop-plat)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -249,14 +236,11 @@
|
||||
)
|
||||
(logior! (-> self draw status) 2)
|
||||
(ja-post)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(while #t
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(the-as int (-> self delay))
|
||||
)
|
||||
(let ((v1-14 (logand -3 (-> self draw status)))
|
||||
@@ -272,7 +256,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate drop-plat-rise (drop-plat)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -286,10 +269,7 @@
|
||||
:code
|
||||
(behavior ((arg0 draw-control))
|
||||
(set! (-> self interp) 1.0)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self spin-angle) 0.0)
|
||||
(set!
|
||||
(-> self root-override trans y)
|
||||
@@ -314,10 +294,7 @@
|
||||
0.0033333334
|
||||
(the
|
||||
float
|
||||
(-
|
||||
(-> *display* base-frame-counter)
|
||||
(the-as int (-> self state-time))
|
||||
)
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -374,7 +351,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate drop-plat-drop (drop-plat)
|
||||
:code
|
||||
(behavior ()
|
||||
@@ -383,10 +359,7 @@
|
||||
(-> (the-as process-drawable (-> self parent 0)) root trans y)
|
||||
(-> self root-override trans y)
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(sound-play-by-name
|
||||
(static-sound-name "bridge-piece-dn")
|
||||
(new-sound-id)
|
||||
@@ -397,18 +370,11 @@
|
||||
(the-as vector #t)
|
||||
)
|
||||
(let ((gp-1 (the int (* 300.0 (rand-vu-float-range 0.2 0.3)))))
|
||||
(while
|
||||
(<
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
gp-1
|
||||
)
|
||||
(while (< (- (-> *display* base-frame-counter) (-> self state-time)) gp-1)
|
||||
(set!
|
||||
(-> self interp)
|
||||
(/
|
||||
(the
|
||||
float
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
)
|
||||
(the float (- (-> *display* base-frame-counter) (-> self state-time)))
|
||||
(the float gp-1)
|
||||
)
|
||||
)
|
||||
@@ -460,7 +426,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate drop-plat-die (drop-plat)
|
||||
:code
|
||||
(behavior ()
|
||||
@@ -469,8 +434,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 20 of type drop-plat
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-20 drop-plat ((obj drop-plat))
|
||||
(let
|
||||
((s5-0
|
||||
@@ -508,8 +471,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 21 of type drop-plat
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-21 drop-plat ((obj drop-plat))
|
||||
(case (-> obj color)
|
||||
((1)
|
||||
@@ -551,8 +512,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function drop-plat-init-by-other
|
||||
;; Used lq/sq
|
||||
(defbehavior
|
||||
drop-plat-init-by-other drop-plat
|
||||
((arg0 vector) (arg1 uint) (arg2 uint) (arg3 int))
|
||||
@@ -571,7 +530,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type handle-inline-array
|
||||
(deftype handle-inline-array (inline-array-class)
|
||||
((data handle :dynamic :offset-assert 16)
|
||||
)
|
||||
@@ -580,10 +538,9 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(set! (-> handle-inline-array heap-base) (the-as uint 8))
|
||||
|
||||
;; definition of type citb-drop-plat
|
||||
(deftype citb-drop-plat (process-drawable)
|
||||
((x-count int32 :offset-assert 176)
|
||||
(z-count int32 :offset-assert 180)
|
||||
@@ -605,8 +562,7 @@
|
||||
:flag-assert #x1400b00120
|
||||
)
|
||||
|
||||
;; definition for method 7 of type citb-drop-plat
|
||||
;; INFO: Return type mismatch process-drawable vs citb-drop-plat.
|
||||
|
||||
(defmethod relocate citb-drop-plat ((obj citb-drop-plat) (arg0 int))
|
||||
(if (nonzero? (-> obj child-array))
|
||||
(&+! (-> obj child-array) arg0)
|
||||
@@ -614,9 +570,6 @@
|
||||
(the-as citb-drop-plat ((method-of-type process-drawable relocate) obj arg0))
|
||||
)
|
||||
|
||||
;; definition for function citb-drop-plat-spawn-children
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior citb-drop-plat-spawn-children citb-drop-plat ()
|
||||
(local-vars (s0-0 int) (sv-48 process) (sv-64 int))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -739,7 +692,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function citb-drop-plat-drop-all-children
|
||||
(defbehavior citb-drop-plat-drop-all-children citb-drop-plat ()
|
||||
(dotimes (gp-0 (-> self child-count))
|
||||
(let ((a1-0 (new 'stack-no-clear 'event-message-block)))
|
||||
@@ -753,8 +705,6 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function citb-drop-plat-drop-children
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior citb-drop-plat-drop-children citb-drop-plat ((arg0 int))
|
||||
(cond
|
||||
((= arg0 6)
|
||||
@@ -784,7 +734,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate citb-drop-plat-idle (citb-drop-plat)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -805,7 +754,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate citb-drop-plat-active (citb-drop-plat)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -838,16 +786,13 @@
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(citb-drop-plat-spawn-children)
|
||||
(while #t
|
||||
(if
|
||||
(or
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(the-as int (+ (-> self duration) 600))
|
||||
)
|
||||
(or
|
||||
@@ -870,8 +815,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type citb-drop-plat
|
||||
;; Used lq/sq
|
||||
(defmethod copy-defaults! citb-drop-plat ((obj citb-drop-plat) (arg0 res-lump))
|
||||
(set! (-> obj root) (new 'process 'trsqv))
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
@@ -920,3 +863,7 @@
|
||||
(go citb-drop-plat-idle)
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self state-timeout)
|
||||
)
|
||||
)
|
||||
@@ -128,18 +128,11 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
30
|
||||
)
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
|
||||
(let ((f30-0 (- (-> (target-pos 0) y) (-> self collide-info trans y))))
|
||||
(if
|
||||
(and
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
900
|
||||
)
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 900)
|
||||
(or
|
||||
(or
|
||||
(not *target*)
|
||||
@@ -159,7 +152,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self state-timeout)
|
||||
)
|
||||
(if
|
||||
@@ -194,10 +187,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self nav destination-pos quad) (-> self entity extra trans quad))
|
||||
(set! (-> self nav target-pos quad) (-> self entity extra trans quad))
|
||||
(none)
|
||||
@@ -333,10 +323,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self rotate-speed) (-> self nav-info run-rotate-speed))
|
||||
(set! (-> self turn-time) (the-as int (-> self nav-info run-turn-time)))
|
||||
(set! (-> self nav-enemy-flags) (logand -25 (-> self nav-enemy-flags)))
|
||||
@@ -466,10 +453,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(nav-enemy-initialize-jump (-> self entity extra trans))
|
||||
(nav-enemy-neck-control-look-at)
|
||||
(set! (-> self nav-enemy-flags) (logand -25 (-> self nav-enemy-flags)))
|
||||
@@ -537,10 +521,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(let ((v1-2 (entity-actor-lookup (-> self entity) 'alt-actor 0)))
|
||||
(if v1-2
|
||||
(logior! (-> v1-2 extra perm status) (entity-perm-status complete))
|
||||
@@ -574,10 +555,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
)
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
900
|
||||
)
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 900)
|
||||
)
|
||||
)
|
||||
(go babak-with-cannon-jump-off-cannon)
|
||||
|
||||
@@ -578,11 +578,11 @@
|
||||
:run-travel-speed (meters 6.0)
|
||||
:run-rotate-speed (degrees 2880.0)
|
||||
:run-acceleration (meters 1.0)
|
||||
:run-turn-time #x1e
|
||||
:run-turn-time (seconds 0.1)
|
||||
:walk-travel-speed (meters 3.0)
|
||||
:walk-rotate-speed (degrees 720.0)
|
||||
:walk-acceleration (meters 1.0)
|
||||
:walk-turn-time #x96
|
||||
:walk-turn-time (seconds 0.5)
|
||||
:attack-shove-back (meters 3.0)
|
||||
:attack-shove-up (meters 2.0)
|
||||
:shadow-size (meters 2.0)
|
||||
|
||||
@@ -295,10 +295,7 @@
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(cond
|
||||
((= (-> self timeout) 0.0)
|
||||
(anim-loop)
|
||||
@@ -490,7 +487,6 @@
|
||||
)
|
||||
|
||||
;; definition for method 26 of type basebutton
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-26 basebutton ((obj basebutton))
|
||||
(dummy-14 obj *generic-button-sg* '())
|
||||
(logior! (-> obj skel status) 1)
|
||||
@@ -748,10 +744,7 @@
|
||||
)
|
||||
:code
|
||||
(behavior ((arg0 int) (arg1 level))
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(when (not arg1)
|
||||
(process-release? *target*)
|
||||
(go-virtual unknown-state00)
|
||||
@@ -844,10 +837,7 @@
|
||||
)
|
||||
:enter
|
||||
(behavior ((arg0 vector) (arg1 vector))
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self control status) (logand -8 (-> self control status)))
|
||||
(set! (-> self control unknown-surface00) *warp-jump-mods*)
|
||||
(set! (-> self control unknown-vector102 quad) (-> arg0 quad))
|
||||
@@ -856,7 +846,7 @@
|
||||
(-> self control unknown-vector102 y)
|
||||
(+ -4096.0 (-> self control unknown-vector102 y))
|
||||
)
|
||||
(set! (-> self control unknown-int11) (the-as int #f))
|
||||
(set! (-> self control unknown-symbol20) #f)
|
||||
(vector-reset! (-> self control transv))
|
||||
(logior! (-> self state-flags) 1024)
|
||||
(set! (-> self alt-cam-pos quad) (-> arg1 quad))
|
||||
@@ -932,7 +922,8 @@
|
||||
(-
|
||||
(sqrtf
|
||||
(*
|
||||
(* 2.0 (-> self control dynam gravity-length))
|
||||
2.0
|
||||
(-> self control dynam gravity-length)
|
||||
(vector-dot
|
||||
(-> self control dynam gravity-normal)
|
||||
(vector-!
|
||||
@@ -959,10 +950,7 @@
|
||||
)
|
||||
)
|
||||
(dummy-48 (-> self control))
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set!
|
||||
(-> self trans-hook)
|
||||
(lambda :behavior target () (let ((gp-0 (new-stack-vector0))
|
||||
@@ -1021,7 +1009,7 @@
|
||||
(and
|
||||
(or
|
||||
(< (vector-dot gp-2 (-> self control transv)) 0.0)
|
||||
(-> self control unknown-int11)
|
||||
(-> self control unknown-symbol20)
|
||||
)
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
@@ -1035,7 +1023,7 @@
|
||||
)
|
||||
(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-int11))
|
||||
(when (not (-> self control unknown-symbol20))
|
||||
(let ((a1-9 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-9 from) self)
|
||||
(set! (-> a1-9 num-params) 2)
|
||||
@@ -1045,7 +1033,7 @@
|
||||
(send-event-function self a1-9)
|
||||
)
|
||||
(let ((v0-2 #t))
|
||||
(set! (-> self control unknown-int11) (the-as int v0-2))
|
||||
(set! (-> self control unknown-symbol20) v0-2)
|
||||
v0-2
|
||||
)
|
||||
)
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
(dummy-20 (_type_) none 20)
|
||||
(dummy-21 (_type_) none 21)
|
||||
(dummy-22 (_type_) none 22)
|
||||
(TODO-RENAME-23 (_type_) skeleton-group 23)
|
||||
(get-unlit-skel (_type_) skeleton-group 23)
|
||||
(dummy-24 (_type_) none 24)
|
||||
(TODO-RENAME-25 (_type_) sparticle-launch-group 25)
|
||||
(dummy-26 (_type_) none 26)
|
||||
@@ -331,10 +331,7 @@ eco-door-event-handler
|
||||
eco-door-event-handler
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(process-entity-status! self (entity-perm-status complete) #t)
|
||||
(dummy-48 (-> self root-override))
|
||||
(let ((v1-6 (-> self skel root-channel 0)))
|
||||
|
||||
@@ -511,11 +511,7 @@ battlecontroller-default-event-handler
|
||||
(battlecontroller-fill-all-spawners)
|
||||
)
|
||||
(while #t
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
30
|
||||
)
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(when
|
||||
(and
|
||||
@@ -606,11 +602,7 @@ battlecontroller-default-event-handler
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(battlecontroller-camera-on)
|
||||
(while #t
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
30
|
||||
)
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(let ((gp-0 0))
|
||||
(let ((v1-8 (-> self child)))
|
||||
|
||||
@@ -133,11 +133,11 @@
|
||||
(TODO-RENAME-45 (_type_ nav-enemy-info) none 45)
|
||||
(TODO-RENAME-46 (_type_ float) basic 46)
|
||||
(initialize-collision (_type_) none 47)
|
||||
(TODO-RENAME-48 (_type_) none 48) ;; - Stubbed
|
||||
(TODO-RENAME-48 (_type_) none 48)
|
||||
(TODO-RENAME-49 (_type_ nav-enemy-info) float 49)
|
||||
(TODO-RENAME-50 (_type_ vector) symbol 50)
|
||||
(dummy-51 (_type_) float 51)
|
||||
(dummy-52 (_type_ vector) vector 52)
|
||||
(dummy-51 (_type_ vector) object 51)
|
||||
(dummy-52 (_type_ vector) symbol 52)
|
||||
(dummy-53 (_type_) symbol 53)
|
||||
(dummy-54 (_type_) none 54)
|
||||
(dummy-55 (_type_) none 55)
|
||||
@@ -157,8 +157,8 @@
|
||||
(dummy-69 (_type_) none 69)
|
||||
(dummy-70 (_type_) none 70)
|
||||
(dummy-71 (_type_) none 71)
|
||||
(dummy-72 (_type_ process event-message-block) object 72)
|
||||
(TODO-RENAME-73 (_type_ process) symbol 73)
|
||||
(nav-enemy-touch-handler (_type_ process event-message-block) object 72)
|
||||
(nav-enemy-attack-handler (_type_ process event-message-block) object 73)
|
||||
(nav-enemy-jump-blocked () _type_ :state 74)
|
||||
(dummy-75 (_type_) none 75)
|
||||
)
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
)
|
||||
|
||||
(defmethod
|
||||
dummy-72
|
||||
nav-enemy-touch-handler
|
||||
nav-enemy
|
||||
((obj nav-enemy) (arg0 process) (arg1 event-message-block))
|
||||
(if
|
||||
@@ -182,7 +182,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod TODO-RENAME-73 nav-enemy ((obj nav-enemy) (arg0 process))
|
||||
(defmethod
|
||||
nav-enemy-attack-handler
|
||||
nav-enemy
|
||||
((obj nav-enemy) (arg0 process) (arg1 event-message-block))
|
||||
(with-pp
|
||||
(let ((v1-0 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> v1-0 from) pp)
|
||||
@@ -193,7 +196,7 @@
|
||||
)
|
||||
(logclear! (-> obj mask) (process-mask actor-pause attackable))
|
||||
(go (method-of-object obj nav-enemy-die))
|
||||
'die
|
||||
(the-as object 'die)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -309,11 +312,11 @@
|
||||
(case arg2
|
||||
(('touch)
|
||||
(set! (-> self touch-time) (-> *display* base-frame-counter))
|
||||
(dummy-72 self arg0 arg3)
|
||||
(nav-enemy-touch-handler self arg0 arg3)
|
||||
)
|
||||
(('attack)
|
||||
(nav-enemy-set-hit-from-direction arg0)
|
||||
(TODO-RENAME-73 self arg0)
|
||||
(nav-enemy-attack-handler self arg0 arg3)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -754,38 +757,32 @@ nav-enemy-default-event-handler
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
(s5-1 (the-as object #f))
|
||||
(s5-1 (the-as collide-shape-prim #f))
|
||||
)
|
||||
(when s4-0
|
||||
(dotimes (s3-0 (-> (the-as collide-shape-prim-group s4-0) num-prims))
|
||||
(let*
|
||||
((s2-0
|
||||
(the-as
|
||||
object
|
||||
(->
|
||||
(the-as collide-shape-prim-group (+ (* s3-0 4) (the-as int s4-0)))
|
||||
prim
|
||||
0
|
||||
)
|
||||
(->
|
||||
(the-as collide-shape-prim-group (+ (* s3-0 4) (the-as int s4-0)))
|
||||
prims
|
||||
0
|
||||
)
|
||||
)
|
||||
(v1-6
|
||||
(if
|
||||
(and
|
||||
(nonzero? (the-as uint s2-0))
|
||||
(type-type?
|
||||
(-> (the-as collide-shape-prim s2-0) type)
|
||||
collide-shape-prim-sphere
|
||||
)
|
||||
(nonzero? s2-0)
|
||||
(type-type? (-> s2-0 type) collide-shape-prim-sphere)
|
||||
)
|
||||
(the-as uint s2-0)
|
||||
s2-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (the-as uint v1-6)
|
||||
(when v1-6
|
||||
(if
|
||||
(or
|
||||
(not (the-as uint s5-1))
|
||||
(not s5-1)
|
||||
(<
|
||||
(-> (the-as collide-shape-prim-sphere v1-6) transform-index)
|
||||
(-> (the-as collide-shape-prim-group s5-1) transform-index)
|
||||
@@ -801,13 +798,13 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s5-1 (the-as uint v1-6))
|
||||
(set! s5-1 v1-6)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (the-as collide-shape-prim s5-1)
|
||||
(set! (-> (the-as collide-shape-prim s5-1) collide-with) arg0)
|
||||
(if s5-1
|
||||
(set! (-> s5-1 collide-with) arg0)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -864,10 +861,7 @@ nav-enemy-default-event-handler
|
||||
(set! (-> v1-14 num-func) num-func-identity)
|
||||
(set! (-> v1-14 frame-num) 0.0)
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set!
|
||||
(-> self collide-info status)
|
||||
(logand -8 (-> self collide-info status))
|
||||
@@ -1027,10 +1021,7 @@ nav-enemy-default-event-handler
|
||||
:enter
|
||||
(behavior ()
|
||||
(nav-enemy-neck-control-inactive)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(if (-> self nav-info move-to-ground)
|
||||
(dummy-60
|
||||
(-> self collide-info)
|
||||
@@ -1059,7 +1050,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self state-timeout)
|
||||
)
|
||||
(nonzero? (-> self draw))
|
||||
@@ -1113,10 +1104,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set!
|
||||
(-> self nav flags)
|
||||
(the-as
|
||||
@@ -1140,14 +1128,10 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
30
|
||||
)
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self state-timeout)
|
||||
)
|
||||
(if (and (nonzero? (-> self draw)) (logtest? (-> self draw status) 8))
|
||||
@@ -1561,17 +1545,14 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self reaction-time)
|
||||
)
|
||||
(if
|
||||
@@ -1758,10 +1739,7 @@ nav-enemy-default-event-handler
|
||||
:enter
|
||||
(behavior ()
|
||||
(nav-enemy-neck-control-look-at)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self free-time) (-> *display* base-frame-counter))
|
||||
(logior! (-> self nav-enemy-flags) 4)
|
||||
(set! (-> self target-speed) (-> self nav-info run-travel-speed))
|
||||
@@ -1791,7 +1769,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self reaction-time)
|
||||
)
|
||||
(if
|
||||
@@ -1865,10 +1843,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(let*
|
||||
((f30-0
|
||||
(vector-vector-distance (-> self collide-info trans) (target-pos 0))
|
||||
@@ -1896,11 +1871,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
30
|
||||
)
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
|
||||
(if (logtest? (-> *target* state-flags) 128)
|
||||
(go-virtual nav-enemy-patrol)
|
||||
)
|
||||
@@ -1925,7 +1896,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
(logtest? (nav-control-flags bit17) (-> self nav flags))
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self state-timeout)
|
||||
)
|
||||
)
|
||||
@@ -1978,10 +1949,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags)))
|
||||
(let
|
||||
((f0-0 (vector-vector-distance (-> self collide-info trans) (target-pos 0)))
|
||||
@@ -2009,11 +1977,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
30
|
||||
)
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
|
||||
(if (logtest? (-> *target* state-flags) 128)
|
||||
(go-virtual nav-enemy-patrol)
|
||||
)
|
||||
@@ -2063,7 +2027,7 @@ nav-enemy-default-event-handler
|
||||
(set! (-> self nav-enemy-flags) (logand -5 (-> self nav-enemy-flags)))
|
||||
(if
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self state-timeout)
|
||||
)
|
||||
(go-virtual nav-enemy-give-up)
|
||||
@@ -2106,21 +2070,14 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(nav-enemy-neck-control-inactive)
|
||||
(set! (-> self nav-enemy-flags) (logand -5 (-> self nav-enemy-flags)))
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
30
|
||||
)
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
|
||||
(if (TODO-RENAME-46 self (-> self nav-info notice-distance))
|
||||
(go-virtual nav-enemy-chase)
|
||||
)
|
||||
@@ -2643,10 +2600,7 @@ nav-enemy-default-event-handler
|
||||
nav-enemy-jump-event-handler
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(if
|
||||
(and
|
||||
(-> self nav-info use-jump-blocked)
|
||||
@@ -2750,10 +2704,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(logclear! (-> self nav flags) (nav-control-flags bit19))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> gp-0 quad) (-> self collide-info transv quad))
|
||||
@@ -2769,10 +2720,7 @@ nav-enemy-default-event-handler
|
||||
(behavior ()
|
||||
(if
|
||||
(or
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
150
|
||||
)
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 150)
|
||||
(logtest? (nav-control-flags bit19) (-> self nav flags))
|
||||
)
|
||||
(go-virtual nav-enemy-chase)
|
||||
@@ -2798,19 +2746,12 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(if
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
150
|
||||
)
|
||||
(if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150)
|
||||
(go (-> self jump-return-state))
|
||||
)
|
||||
(none)
|
||||
@@ -2879,10 +2820,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(logior! (-> self nav-enemy-flags) 2048)
|
||||
(ja-channel-push! 1 30)
|
||||
(let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2)))
|
||||
@@ -2951,10 +2889,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(nav-enemy-initialize-jump (-> self event-param-point))
|
||||
(nav-enemy-neck-control-look-at)
|
||||
(logior! (-> self nav-enemy-flags) 16)
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
|
||||
(define-extern *plat-button-sg* skeleton-group)
|
||||
|
||||
;; definition of type plat-button
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype plat-button (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
(go-back-if-lost-player? symbol :offset-assert 176)
|
||||
@@ -41,7 +42,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(let
|
||||
((v1-1
|
||||
(new 'static 'skeleton-group
|
||||
@@ -59,12 +60,10 @@
|
||||
(set! *plat-button-sg* v1-1)
|
||||
)
|
||||
|
||||
;; definition for method 30 of type plat-button
|
||||
(defmethod should-teleport? plat-button ((obj plat-button))
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for method 26 of type plat-button
|
||||
(defmethod can-activate? plat-button ((obj plat-button))
|
||||
(or
|
||||
(= (-> obj path-pos) 0.0)
|
||||
@@ -72,7 +71,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate plat-button-idle (plat-button)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -206,7 +204,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate plat-button-teleport-to-other-end (plat-button)
|
||||
:virtual #t
|
||||
:code
|
||||
@@ -228,7 +225,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate plat-button-pressed (plat-button)
|
||||
:virtual #t
|
||||
:trans
|
||||
@@ -274,8 +270,6 @@
|
||||
(the-as (function none :behavior plat-button) rider-post)
|
||||
)
|
||||
|
||||
;; definition for function plat-button-camera-on
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior plat-button-camera-on plat-button ()
|
||||
(let ((v1-1 (res-lump-struct (-> self entity) 'camera-name structure)))
|
||||
(when v1-1
|
||||
@@ -292,8 +286,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function plat-button-camera-off
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior plat-button-camera-off plat-button ()
|
||||
(let ((a1-0 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-0 from) self)
|
||||
@@ -305,26 +297,19 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate plat-button-move-downward (plat-button)
|
||||
:virtual #t
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(the-as object (when (or (= arg2 'touch) (= arg2 'attack))
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
#f
|
||||
)
|
||||
)
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(process-entity-status! self (entity-perm-status bit-3) #t)
|
||||
(plat-button-camera-on)
|
||||
(set-setting! *setting-control* self 'allow-look-around #f 0.0 0)
|
||||
@@ -351,10 +336,7 @@
|
||||
(or
|
||||
(not *target*)
|
||||
(and
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
1200
|
||||
)
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 1200)
|
||||
(not
|
||||
(and
|
||||
(logtest? (-> *target* control unknown-surface00 flags) 2048)
|
||||
@@ -427,26 +409,19 @@
|
||||
(the-as (function none :behavior plat-button) rider-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate plat-button-move-upward (plat-button)
|
||||
:virtual #t
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(the-as object (when (or (= arg2 'touch) (= arg2 'attack))
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
#f
|
||||
)
|
||||
)
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(process-entity-status! self (entity-perm-status bit-3) #t)
|
||||
(plat-button-camera-on)
|
||||
(set-setting! *setting-control* self 'allow-look-around #f 0.0 0)
|
||||
@@ -473,10 +448,7 @@
|
||||
(or
|
||||
(not *target*)
|
||||
(and
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
1200
|
||||
)
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 1200)
|
||||
(not
|
||||
(and
|
||||
(logtest? (-> *target* control unknown-surface00 flags) 2048)
|
||||
@@ -549,7 +521,6 @@
|
||||
(the-as (function none :behavior plat-button) rider-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate plat-button-at-end (plat-button)
|
||||
:virtual #t
|
||||
:code
|
||||
@@ -587,7 +558,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 28 of type plat-button
|
||||
(defmethod TODO-RENAME-28 plat-button ((obj plat-button))
|
||||
(let
|
||||
((s5-0
|
||||
@@ -651,13 +621,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 29 of type plat-button
|
||||
;; INFO: Return type mismatch int vs symbol.
|
||||
(defmethod can-target-move? plat-button ((obj plat-button))
|
||||
(the-as symbol 0)
|
||||
)
|
||||
|
||||
;; definition for method 27 of type plat-button
|
||||
(defmethod TODO-RENAME-27 plat-button ((obj plat-button))
|
||||
(ja-channel-set! 1)
|
||||
(cond
|
||||
@@ -701,24 +668,18 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 31 of type plat-button
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-31 plat-button ((obj plat-button))
|
||||
(dummy-14 obj *plat-button-sg* '())
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 32 of type plat-button
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-32 plat-button ((obj plat-button))
|
||||
(go (method-of-object obj plat-button-idle))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type plat-button
|
||||
;; Used lq/sq
|
||||
(defmethod copy-defaults! plat-button ((obj plat-button) (arg0 res-lump))
|
||||
(set! (-> obj go-back-if-lost-player?) #f)
|
||||
(set! (-> obj grab-player?) #f)
|
||||
@@ -768,3 +729,7 @@
|
||||
(TODO-RENAME-32 obj)
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
(define-extern *plat-sunken-sg* skeleton-group)
|
||||
(define-extern *plat-sg* skeleton-group)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(set!
|
||||
(-> *part-group-id-table* 107)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -27,7 +28,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 363)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -51,7 +51,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 364)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -80,7 +79,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type plat
|
||||
(deftype plat (baseplat)
|
||||
((path-pos float :offset-assert 228)
|
||||
(sync sync-info-eased :inline :offset-assert 232)
|
||||
@@ -91,27 +89,16 @@
|
||||
:size-assert #x108
|
||||
:flag-assert #x2100a00108
|
||||
(:methods
|
||||
(dummy-27 () none 27)
|
||||
(get-lit-skel (_type_) skeleton-group 27)
|
||||
(dummy-28 () none 28)
|
||||
(wad () _type_ :state 29)
|
||||
(plat-startup () _type_ :state 30)
|
||||
(plat-startup (plat) _type_ :state 30)
|
||||
(plat-idle () _type_ :state 31)
|
||||
(plat-path-active () _type_ :state 32)
|
||||
(plat-path-active (plat) _type_ :state 32)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type plat
|
||||
(defmethod inspect plat ((obj plat))
|
||||
(let ((t9-0 (method-of-type baseplat inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~T~Tpath-pos: ~f~%" (-> obj path-pos))
|
||||
(format #t "~T~Tsync: #<sync-info-eased @ #x~X>~%" (-> obj sync))
|
||||
(format #t "~T~Tsound-id: ~D~%" (-> obj sound-id))
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-4
|
||||
(new 'static 'skeleton-group
|
||||
@@ -134,7 +121,6 @@
|
||||
(set! *plat-sg* v1-4)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-5
|
||||
(new 'static 'skeleton-group
|
||||
@@ -152,7 +138,6 @@
|
||||
(set! *plat-jungleb-sg* v1-5)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-6
|
||||
(new 'static 'skeleton-group
|
||||
@@ -170,8 +155,7 @@
|
||||
(set! *plat-sunken-sg* v1-6)
|
||||
)
|
||||
|
||||
;; definition for method 23 of type plat
|
||||
(defmethod TODO-RENAME-23 plat ((obj plat))
|
||||
(defmethod get-unlit-skel plat ((obj plat))
|
||||
(cond
|
||||
((= (-> (if (-> obj entity)
|
||||
(-> obj entity extra level)
|
||||
@@ -208,8 +192,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 24 of type plat
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-24 plat ((obj plat))
|
||||
(let
|
||||
((s5-0
|
||||
@@ -247,15 +229,11 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 26 of type plat
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-26 plat ((obj plat))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 25 of type plat
|
||||
;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group.
|
||||
(defmethod TODO-RENAME-25 plat ((obj plat))
|
||||
(the-as sparticle-launch-group (when (!= (-> (if (-> obj entity)
|
||||
(-> obj entity extra level)
|
||||
@@ -280,17 +258,16 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate plat-startup (plat)
|
||||
:virtual #t
|
||||
:code
|
||||
(behavior ()
|
||||
(behavior ((arg0 plat))
|
||||
(cond
|
||||
((logtest? (-> self path flags) (path-control-flag not-found))
|
||||
(go-virtual plat-idle)
|
||||
)
|
||||
((> (-> self sync period) 0)
|
||||
(go-virtual plat-path-active)
|
||||
(go-virtual plat-path-active arg0)
|
||||
)
|
||||
(else
|
||||
(go-virtual plat-idle)
|
||||
@@ -300,7 +277,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate plat-idle (plat)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -336,7 +312,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate plat-path-active (plat)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -381,17 +356,16 @@
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
(the-as (function none :behavior plat) anim-loop)
|
||||
(the-as (function plat none :behavior plat) anim-loop)
|
||||
:post
|
||||
(the-as (function none :behavior plat) plat-post)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type plat
|
||||
(defmethod copy-defaults! plat ((obj plat) (arg0 res-lump))
|
||||
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
|
||||
(dummy-24 obj)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(dummy-14 obj (TODO-RENAME-23 obj) '())
|
||||
(dummy-14 obj (get-unlit-skel obj) '())
|
||||
(logior! (-> obj skel status) 1)
|
||||
(dummy-47 (-> obj root-override))
|
||||
(dummy-21 obj)
|
||||
@@ -416,8 +390,10 @@
|
||||
(cond
|
||||
((logtest? (-> obj path flags) (path-control-flag not-found))
|
||||
(set! (-> obj path-pos) 0.0)
|
||||
(dummy-26 obj)
|
||||
(go (method-of-object obj plat-startup))
|
||||
(let ((a0-14 obj))
|
||||
(dummy-26 a0-14)
|
||||
(go (method-of-object obj plat-startup) a0-14)
|
||||
)
|
||||
)
|
||||
((> (-> obj sync period) 0)
|
||||
(set! (-> obj path-pos) (if (logtest? (-> obj fact options) 8)
|
||||
@@ -431,8 +407,10 @@
|
||||
(-> obj path-pos)
|
||||
'interp
|
||||
)
|
||||
(dummy-26 obj)
|
||||
(go (method-of-object obj plat-startup))
|
||||
(let ((a0-18 obj))
|
||||
(dummy-26 a0-18)
|
||||
(go (method-of-object obj plat-startup) a0-18)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> obj path-pos) 0.0)
|
||||
@@ -442,8 +420,10 @@
|
||||
(-> obj path-pos)
|
||||
'interp
|
||||
)
|
||||
(dummy-26 obj)
|
||||
(go (method-of-object obj plat-startup))
|
||||
(let ((a0-20 obj))
|
||||
(dummy-26 a0-20)
|
||||
(go (method-of-object obj plat-startup) a0-20)
|
||||
)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
|
||||
(define-extern *sharkey-sg* skeleton-group)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(set!
|
||||
(-> *part-group-id-table* 106)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -40,7 +41,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type sharkey
|
||||
(deftype sharkey (nav-enemy)
|
||||
((dir vector :inline :offset-assert 400)
|
||||
(spawn-point vector :inline :offset-assert 416)
|
||||
@@ -64,7 +64,7 @@
|
||||
:flag-assert #x4c018001ec
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(let
|
||||
((v1-2
|
||||
(new 'static 'skeleton-group
|
||||
@@ -81,8 +81,6 @@
|
||||
(set! *sharkey-sg* v1-2)
|
||||
)
|
||||
|
||||
;; definition for method 44 of type sharkey
|
||||
;; INFO: Return type mismatch symbol vs object.
|
||||
(defmethod
|
||||
dummy-44
|
||||
sharkey
|
||||
@@ -90,8 +88,6 @@
|
||||
(the-as object #t)
|
||||
)
|
||||
|
||||
;; definition for method 43 of type sharkey
|
||||
;; INFO: Return type mismatch symbol vs object.
|
||||
(defmethod
|
||||
dummy-43
|
||||
sharkey
|
||||
@@ -99,10 +95,8 @@
|
||||
(the-as object #t)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
nav-enemy-default-event-handler
|
||||
|
||||
;; definition for method 12 of type sharkey
|
||||
(defmethod run-logic? sharkey ((obj sharkey))
|
||||
(or
|
||||
(zero? (logand (-> obj mask) (process-mask actor-pause)))
|
||||
@@ -123,8 +117,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 40 of type sharkey
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-40 sharkey ((obj sharkey))
|
||||
(dummy-11 (-> obj nav) (-> obj nav target-pos))
|
||||
(let*
|
||||
@@ -153,8 +145,6 @@ nav-enemy-default-event-handler
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 37 of type sharkey
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-37 sharkey ((obj sharkey))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
||||
(when (< 8192.0 (vector-length (-> obj nav travel)))
|
||||
@@ -173,8 +163,6 @@ nav-enemy-default-event-handler
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 41 of type sharkey
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-41 sharkey ((obj sharkey))
|
||||
(let* ((f0-1 (- (-> obj target-speed) (-> obj momentum-speed)))
|
||||
(f1-3
|
||||
@@ -207,9 +195,6 @@ nav-enemy-default-event-handler
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 39 of type sharkey
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod common-post sharkey ((obj sharkey))
|
||||
(let ((f30-0 (-> obj water height))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
@@ -238,7 +223,6 @@ nav-enemy-default-event-handler
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sharkey-notice-player?
|
||||
(defbehavior sharkey-notice-player? sharkey ()
|
||||
(if *target*
|
||||
(and
|
||||
@@ -257,26 +241,18 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function sharkey-get-player-position
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defun sharkey-get-player-position ((arg0 vector))
|
||||
(set! (-> arg0 quad) (-> (target-pos 5) quad))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sharkey-reset-position
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior sharkey-reset-position sharkey ()
|
||||
(set! (-> self collide-info trans quad) (-> self entity extra trans quad))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sharkey-move-to-attack-position
|
||||
;; Used lq/sq
|
||||
(defbehavior sharkey-move-to-attack-position sharkey ()
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector))
|
||||
(s3-0 (new 'stack-no-clear 'vector))
|
||||
@@ -312,7 +288,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-idle (sharkey)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -322,10 +297,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self nav-enemy-flags) (logand -2 (-> self nav-enemy-flags)))
|
||||
(none)
|
||||
)
|
||||
@@ -351,7 +323,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self state-timeout)
|
||||
)
|
||||
)
|
||||
@@ -435,7 +407,6 @@ nav-enemy-default-event-handler
|
||||
(the-as (function none :behavior sharkey) #f)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-patrol (sharkey)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -535,7 +506,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-notice (sharkey)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -555,7 +525,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function sharkey-follow-trajectory
|
||||
(defbehavior sharkey-follow-trajectory sharkey ((arg0 float))
|
||||
(let ((gp-0 (-> self jump-trajectory)))
|
||||
(eval-position! gp-0 arg0 (-> self collide-info trans))
|
||||
@@ -565,7 +534,6 @@ nav-enemy-default-event-handler
|
||||
(forward-up->quaternion (-> self collide-info quat) (-> self dir) *up-vector*)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-attack (sharkey)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -588,10 +556,7 @@ nav-enemy-default-event-handler
|
||||
(the-as uint 1)
|
||||
(the-as vector #t)
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> gp-0 quad) (-> self collide-info trans quad))
|
||||
(ja-channel-push! 1 30)
|
||||
(let ((s4-1 (-> self skel root-channel 0)))
|
||||
@@ -647,19 +612,12 @@ nav-enemy-default-event-handler
|
||||
(-> self collide-info transv)
|
||||
8.0
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(let ((f30-0 -409600.0)
|
||||
(f28-0 (-> self collide-info transv y))
|
||||
(f26-0 (-> self collide-info trans y))
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
900
|
||||
)
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 900)
|
||||
(let ((gp-1 (-> self skel root-channel 0)))
|
||||
(set!
|
||||
(-> gp-1 frame-group)
|
||||
@@ -753,7 +711,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-chase (sharkey)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -953,7 +910,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-stop-chase (sharkey)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -1031,7 +987,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-stare (sharkey)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -1046,7 +1001,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
(if
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self state-timeout)
|
||||
)
|
||||
(go-virtual nav-enemy-patrol)
|
||||
@@ -1093,7 +1048,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-victory (sharkey)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -1163,7 +1117,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *sharkey-nav-enemy-info*, type nav-enemy-info
|
||||
(define
|
||||
*sharkey-nav-enemy-info*
|
||||
(new 'static 'nav-enemy-info
|
||||
@@ -1182,11 +1135,11 @@ nav-enemy-default-event-handler
|
||||
:run-travel-speed (meters 12.0)
|
||||
:run-rotate-speed (degrees 1999.9999)
|
||||
:run-acceleration (meters 6.0)
|
||||
:run-turn-time #x96
|
||||
:run-turn-time (seconds 0.5)
|
||||
:walk-travel-speed (meters 6.0)
|
||||
:walk-rotate-speed (degrees 1999.9999)
|
||||
:walk-acceleration (meters 6.0)
|
||||
:walk-turn-time #x96
|
||||
:walk-turn-time (seconds 0.5)
|
||||
:attack-shove-back (meters 1.0)
|
||||
:attack-shove-up (meters 0.5)
|
||||
:shadow-size (meters 2.0)
|
||||
@@ -1219,8 +1172,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type sharkey
|
||||
;; Used lq/sq
|
||||
(defmethod copy-defaults! sharkey ((obj sharkey) (arg0 res-lump))
|
||||
(set! (-> obj scale) (res-lump-float arg0 'scale :default 1.0))
|
||||
(let
|
||||
@@ -1286,3 +1237,7 @@ nav-enemy-default-event-handler
|
||||
(go (method-of-object obj nav-enemy-idle))
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
(define-extern *power-right-sg* skeleton-group)
|
||||
(define-extern *power-left-sg* skeleton-group)
|
||||
|
||||
;; definition of type fin-door
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype fin-door (process-hidden)
|
||||
()
|
||||
:method-count-assert 15
|
||||
@@ -20,7 +21,7 @@
|
||||
:flag-assert #xf00000070
|
||||
)
|
||||
|
||||
;; definition of type final-door
|
||||
|
||||
(deftype final-door (process-drawable)
|
||||
()
|
||||
:heap-base #x40
|
||||
@@ -34,7 +35,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(let
|
||||
((v1-2
|
||||
(new 'static 'skeleton-group
|
||||
@@ -52,7 +53,6 @@
|
||||
(set! *power-left-sg* v1-2)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-3
|
||||
(new 'static 'skeleton-group
|
||||
@@ -70,7 +70,6 @@
|
||||
(set! *power-right-sg* v1-3)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-4
|
||||
(new 'static 'skeleton-group
|
||||
@@ -87,7 +86,6 @@
|
||||
(set! *powercellalt-sg* v1-4)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate idle (final-door)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -110,7 +108,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate open (final-door)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -237,7 +234,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type final-door
|
||||
(defmethod copy-defaults! final-door ((obj final-door) (arg0 res-lump))
|
||||
(let
|
||||
((s4-0
|
||||
@@ -276,7 +272,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type power-left
|
||||
(deftype power-left (final-door)
|
||||
()
|
||||
:heap-base #x40
|
||||
@@ -285,7 +280,7 @@
|
||||
:flag-assert #x17004000b0
|
||||
)
|
||||
|
||||
;; definition of type power-right
|
||||
|
||||
(deftype power-right (final-door)
|
||||
()
|
||||
:heap-base #x40
|
||||
@@ -294,7 +289,7 @@
|
||||
:flag-assert #x17004000b0
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(defstate idle (power-left)
|
||||
:virtual #t
|
||||
:code
|
||||
@@ -368,23 +363,18 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 21 of type power-left
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-21 power-left ((obj power-left))
|
||||
(dummy-14 obj *power-left-sg* '())
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 21 of type power-right
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod dummy-21 power-right ((obj power-right))
|
||||
(dummy-14 obj *power-right-sg* '())
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type powercellalt
|
||||
(deftype powercellalt (process-drawable)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
(jump-pos vector :inline :offset-assert 176)
|
||||
@@ -402,7 +392,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(defstate jump (powercellalt)
|
||||
:virtual #t
|
||||
:code
|
||||
@@ -425,21 +415,11 @@
|
||||
300.0
|
||||
-2.2755556
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
300
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
|
||||
(let
|
||||
((f0-2
|
||||
(the
|
||||
float
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
)
|
||||
(the float (- (-> *display* base-frame-counter) (-> self state-time)))
|
||||
)
|
||||
)
|
||||
(eval-position! gp-1 f0-2 (-> self root-override trans))
|
||||
@@ -502,7 +482,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate idle (powercellalt)
|
||||
:virtual #t
|
||||
:code
|
||||
@@ -524,8 +503,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function powercellalt-init-by-other
|
||||
;; Used lq/sq
|
||||
(defbehavior
|
||||
powercellalt-init-by-other powercellalt
|
||||
((arg0 entity) (arg1 vector) (arg2 vector) (arg3 int))
|
||||
@@ -564,7 +541,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-final-door (target)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -764,3 +740,7 @@
|
||||
:post
|
||||
target-no-stick-post
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,8 @@
|
||||
|
||||
(define-extern *robotboss-sg* skeleton-group)
|
||||
|
||||
;; definition of type robotboss-dda
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype robotboss-dda (structure)
|
||||
((blue-bomb-time float :offset-assert 0)
|
||||
(num-blobs int32 :offset-assert 4)
|
||||
@@ -27,27 +28,28 @@
|
||||
:flag-assert #x900000030
|
||||
)
|
||||
|
||||
;; definition of type robotboss
|
||||
|
||||
(deftype robotboss (process-drawable)
|
||||
((alts entity-actor 13 :offset-assert 176)
|
||||
((root-override collide-shape-moving :offset 112)
|
||||
(alts entity-actor 13 :offset-assert 176)
|
||||
(desired-loc vector :inline :offset-assert 240)
|
||||
(old-loc vector :inline :offset-assert 256)
|
||||
(loc-t float :offset-assert 272)
|
||||
(loc-t-start seconds :offset-assert 280)
|
||||
(loc-t-duration seconds :offset-assert 288)
|
||||
(loc-t-start int64 :offset-assert 280)
|
||||
(loc-t-duration int64 :offset-assert 288)
|
||||
(hits-to-go int32 :offset-assert 296)
|
||||
(took-hit symbol :offset-assert 300)
|
||||
(children-spawned int32 :offset-assert 304)
|
||||
(vulnerable seconds :offset-assert 312)
|
||||
(till-next-shot seconds :offset-assert 320)
|
||||
(shot-attractor uint64 :offset-assert 328)
|
||||
(vulnerable int64 :offset-assert 312)
|
||||
(till-next-shot int64 :offset-assert 320)
|
||||
(shot-attractor handle :offset-assert 328)
|
||||
(desired-pool-y float :offset-assert 336)
|
||||
(particle sparticle-launch-control 7 :offset-assert 340)
|
||||
(blue-smoke basic :offset-assert 368)
|
||||
(red-smoke basic :offset-assert 372)
|
||||
(yellow-smoke basic :offset-assert 376)
|
||||
(blue-smoke symbol :offset-assert 368)
|
||||
(red-smoke symbol :offset-assert 372)
|
||||
(yellow-smoke symbol :offset-assert 376)
|
||||
(white-eco handle :offset-assert 384)
|
||||
(des-cam-entity basic :offset-assert 392)
|
||||
(des-cam-entity string :offset-assert 392)
|
||||
(use-interesting symbol :offset-assert 396)
|
||||
(ignore-camera symbol :offset-assert 400)
|
||||
(ambient ambient-control :offset 408)
|
||||
@@ -64,12 +66,11 @@
|
||||
:size-assert #x1d0
|
||||
:flag-assert #x15001601d0
|
||||
(:methods
|
||||
(dummy-20 () none 20)
|
||||
(ease-loc-t (_type_) float 20)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 7 of type robotboss
|
||||
;; INFO: Return type mismatch process-drawable vs robotboss.
|
||||
|
||||
(defmethod relocate robotboss ((obj robotboss) (arg0 int))
|
||||
(dotimes (v1-0 7)
|
||||
(if (nonzero? (-> obj particle v1-0))
|
||||
@@ -87,7 +88,6 @@
|
||||
(the-as robotboss ((method-of-type process-drawable relocate) obj arg0))
|
||||
)
|
||||
|
||||
;; definition for method 10 of type robotboss
|
||||
(defmethod deactivate robotboss ((obj robotboss))
|
||||
(dotimes (s5-0 7)
|
||||
(let ((a0-1 (-> obj particle s5-0)))
|
||||
@@ -107,8 +107,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-has-all-the-cells?
|
||||
;; INFO: Return type mismatch basic vs symbol.
|
||||
(defun target-has-all-the-cells? ()
|
||||
(with-pp
|
||||
(the-as
|
||||
@@ -129,7 +127,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v0-6
|
||||
(new 'static 'skeleton-group
|
||||
@@ -147,3 +144,7 @@
|
||||
(set! (-> v0-6 lod-dist 0) 4095996000.0)
|
||||
(set! *robotboss-sg* v0-6)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,3 +5,893 @@
|
||||
;; name in dgo: robotboss-misc
|
||||
;; dgos: FIN, L1
|
||||
|
||||
(define-extern *med-res-snow1-sg* skeleton-group)
|
||||
(define-extern *ecoclaw-sg* skeleton-group)
|
||||
(define-extern *silodoor-sg* skeleton-group)
|
||||
(define-extern *finalbosscam-sg* skeleton-group)
|
||||
|
||||
(declare-type ecoclaw process-drawable)
|
||||
(define-extern *ecoclaw* (pointer ecoclaw))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(let
|
||||
((v1-0
|
||||
(new 'static 'skeleton-group
|
||||
:art-group-name "medres-snowback"
|
||||
:bounds
|
||||
(new 'static 'vector :x -1474560.0 :y 409600.0 :z 409600.0 :w 1556480.0)
|
||||
:longest-edge (meters 0.01)
|
||||
:version #x6
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> v1-0 jgeo) 0)
|
||||
(set! (-> v1-0 janim) 2)
|
||||
(set! (-> v1-0 mgeo 0) (the-as uint 1))
|
||||
(set! (-> v1-0 lod-dist 0) 4095996000.0)
|
||||
(set! *med-res-snow1-sg* v1-0)
|
||||
)
|
||||
|
||||
(defstate cam-robotboss (camera-slave)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(case arg2
|
||||
(('set-pivot)
|
||||
(let ((v0-0 (the-as object (-> self pivot-pt))))
|
||||
(set!
|
||||
(-> (the-as vector v0-0) quad)
|
||||
(-> (the-as vector (-> arg3 param 0)) quad)
|
||||
)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
(('teleport)
|
||||
#f
|
||||
)
|
||||
(else
|
||||
(cam-standard-event-handler arg0 arg1 arg2 arg3)
|
||||
)
|
||||
)
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(cond
|
||||
((-> self enter-has-run)
|
||||
)
|
||||
(else
|
||||
(set! *camera-base-mode* cam-robotboss)
|
||||
(set! (-> self circular-follow quad) (-> *camera* tpos-curr-adj quad))
|
||||
(set! (-> self pivot-rad) 73728.0)
|
||||
(set! (-> self blend-from-type) (the-as uint 2))
|
||||
(set! (-> self blend-to-type) (the-as uint 2))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(when (zero? (logand (-> *camera* master-options) 2))
|
||||
(set! *camera-base-mode* cam-string)
|
||||
(cam-slave-go cam-free-floating)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(while #t
|
||||
(when #t
|
||||
(let ((a2-0 (new-stack-vector0)))
|
||||
(vector-! a2-0 (-> *camera* tpos-curr-adj) (-> self pivot-pt))
|
||||
(vector-!
|
||||
(-> self circular-follow)
|
||||
(-> self circular-follow)
|
||||
(-> self pivot-pt)
|
||||
)
|
||||
(v-slrp3!
|
||||
(-> self circular-follow)
|
||||
(-> self circular-follow)
|
||||
a2-0
|
||||
(-> *camera* local-down)
|
||||
(* 182.04445 (-> *display* time-adjust-ratio))
|
||||
)
|
||||
)
|
||||
(vector+!
|
||||
(-> self circular-follow)
|
||||
(-> self circular-follow)
|
||||
(-> self pivot-pt)
|
||||
)
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-! gp-0 (-> self circular-follow) (-> self pivot-pt))
|
||||
(vector-flatten! gp-0 gp-0 (-> *camera* local-down))
|
||||
(let ((f0-3 (- (vector-length gp-0) (-> self pivot-rad))))
|
||||
(if (>= 0.0 f0-3)
|
||||
(vector-reset! gp-0)
|
||||
(vector-normalize! gp-0 f0-3)
|
||||
)
|
||||
)
|
||||
(vector+! (-> self trans) gp-0 (-> self pivot-pt))
|
||||
)
|
||||
)
|
||||
(suspend)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype ecoclaw-part-info (structure)
|
||||
((tracker handle :offset-assert 0)
|
||||
(kind basic :offset-assert 8)
|
||||
(trans vector :inline :offset-assert 16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x20
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
|
||||
(deftype ecoclaw (process-drawable)
|
||||
((particles ecoclaw-part-info 3 :inline :offset-assert 176)
|
||||
)
|
||||
:heap-base #xa0
|
||||
:method-count-assert 20
|
||||
:size-assert #x110
|
||||
:flag-assert #x1400a00110
|
||||
)
|
||||
|
||||
|
||||
(let
|
||||
((v1-4
|
||||
(new 'static 'skeleton-group
|
||||
:art-group-name "ecoclaw"
|
||||
:bounds
|
||||
(new 'static 'vector :y 8192.0 :w 36864.0)
|
||||
:version #x6
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> v1-4 jgeo) 0)
|
||||
(set! (-> v1-4 janim) 2)
|
||||
(set! (-> v1-4 mgeo 0) (the-as uint 1))
|
||||
(set! (-> v1-4 lod-dist 0) 4095996000.0)
|
||||
(set! *ecoclaw-sg* v1-4)
|
||||
)
|
||||
|
||||
(defun ecoclaw-beam-particle-callback ((arg0 part-tracker))
|
||||
(let* ((a0-1 (the-as (pointer projectile) (-> arg0 userdata)))
|
||||
(v1-1 (-> a0-1 0 parent-base))
|
||||
(a0-3 (-> a0-1 0 base-vector))
|
||||
(gp-1 (vector-! (new 'stack-no-clear 'vector) a0-3 v1-1))
|
||||
(f30-0 (vector-y-angle gp-1))
|
||||
(f0-1 (- 16384.0 (vector-x-angle gp-1)))
|
||||
)
|
||||
(set! (-> *part-id-table* 2727 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2727 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2729 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2729 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2726 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2726 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2720 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2720 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2722 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2722 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2719 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2719 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2734 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2734 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2736 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2736 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2733 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2733 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2741 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2741 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2743 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2743 init-specs 13 initial-valuef) f0-1)
|
||||
(set! (-> *part-id-table* 2740 init-specs 14 initial-valuef) f30-0)
|
||||
(set! (-> *part-id-table* 2740 init-specs 13 initial-valuef) f0-1)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
|
||||
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
|
||||
(defbehavior
|
||||
ecoclaw-handler ecoclaw
|
||||
((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(let ((v1-0 arg2))
|
||||
(the-as object (cond
|
||||
((= v1-0 'open)
|
||||
(let ((gp-1 (-> arg3 param 0)))
|
||||
(set!
|
||||
(-> self particles 0 kind)
|
||||
(the-as
|
||||
basic
|
||||
(if
|
||||
(and
|
||||
(nonzero? gp-1)
|
||||
(type-type? (rtype-of gp-1) sparticle-launch-group)
|
||||
)
|
||||
gp-1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self particles 0 trans quad)
|
||||
(-> self root trans quad)
|
||||
)
|
||||
(let ((f0-1 (+ 12288.0 (-> self particles 0 trans y))))
|
||||
(set! (-> self particles 0 trans y) f0-1)
|
||||
f0-1
|
||||
)
|
||||
)
|
||||
((= v1-0 'beam-on)
|
||||
(let ((s5-0 (-> arg3 param 0)))
|
||||
(set!
|
||||
(-> self particles 1 kind)
|
||||
(the-as
|
||||
basic
|
||||
(if
|
||||
(and
|
||||
(nonzero? s5-0)
|
||||
(type-type? (rtype-of s5-0) sparticle-launch-group)
|
||||
)
|
||||
s5-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self particles 1 trans quad)
|
||||
(-> self root trans quad)
|
||||
)
|
||||
(set!
|
||||
(-> self particles 1 trans y)
|
||||
(+ 24576.0 (-> self particles 1 trans y))
|
||||
)
|
||||
(let ((s5-1 (-> arg3 param 1)))
|
||||
(set!
|
||||
(-> self particles 2 kind)
|
||||
(the-as
|
||||
basic
|
||||
(if
|
||||
(and
|
||||
(nonzero? s5-1)
|
||||
(type-type? (rtype-of s5-1) sparticle-launch-group)
|
||||
)
|
||||
s5-1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self particles 2 trans quad)
|
||||
(-> (the-as vector (-> arg3 param 2)) quad)
|
||||
)
|
||||
(let ((f0-5 (+ 81920.0 (-> self particles 2 trans y))))
|
||||
(set! (-> self particles 2 trans y) f0-5)
|
||||
f0-5
|
||||
)
|
||||
)
|
||||
((= v1-0 'beam-off)
|
||||
(set! (-> self particles 1 kind) #f)
|
||||
(set! (-> self particles 2 kind) #f)
|
||||
(let
|
||||
((a0-10 (handle->process (-> self particles 1 tracker))))
|
||||
(if a0-10
|
||||
(deactivate a0-10)
|
||||
)
|
||||
)
|
||||
(let
|
||||
((a0-14 (handle->process (-> self particles 2 tracker))))
|
||||
(if a0-14
|
||||
(deactivate a0-14)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defstate ecoclaw-activate (ecoclaw)
|
||||
:event
|
||||
ecoclaw-handler
|
||||
:trans
|
||||
(behavior ()
|
||||
(if (-> self particles 1 kind)
|
||||
(draw-eco-beam
|
||||
(the-as vector (&-> self stack 112))
|
||||
(the-as vector (&-> self stack 144))
|
||||
)
|
||||
)
|
||||
(dotimes (gp-0 2)
|
||||
(cond
|
||||
((handle->process (-> self particles gp-0 tracker))
|
||||
(set!
|
||||
(->
|
||||
(the-as part-tracker (-> self particles gp-0 tracker process 0))
|
||||
start-time
|
||||
)
|
||||
(the-as uint (-> *display* base-frame-counter))
|
||||
)
|
||||
)
|
||||
((-> self particles gp-0 kind)
|
||||
(let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000)))
|
||||
(set! (-> self particles gp-0 tracker) (ppointer->handle (when s5-0
|
||||
(let
|
||||
((t9-2
|
||||
(method-of-type
|
||||
part-tracker
|
||||
activate
|
||||
)
|
||||
)
|
||||
)
|
||||
(t9-2
|
||||
(the-as
|
||||
part-tracker
|
||||
s5-0
|
||||
)
|
||||
self
|
||||
'part-tracker
|
||||
(the-as
|
||||
pointer
|
||||
#x70004000
|
||||
)
|
||||
)
|
||||
)
|
||||
(run-now-in-process
|
||||
s5-0
|
||||
part-tracker-init
|
||||
(->
|
||||
self
|
||||
particles
|
||||
gp-0
|
||||
kind
|
||||
)
|
||||
-1
|
||||
ecoclaw-beam-particle-callback
|
||||
(->
|
||||
self
|
||||
ppointer
|
||||
)
|
||||
#f
|
||||
(&+
|
||||
(&->
|
||||
self
|
||||
stack
|
||||
80
|
||||
)
|
||||
(* gp-0 32)
|
||||
)
|
||||
)
|
||||
(->
|
||||
s5-0
|
||||
ppointer
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(let ((a0-0 (-> self skel root-channel 0)))
|
||||
(set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0)
|
||||
(-> self skel root-channel 0 frame-group)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> a0-0 param 0)
|
||||
(the float (+ (-> (if (> (-> self skel active-channels) 0)
|
||||
(-> self skel root-channel 0 frame-group)
|
||||
)
|
||||
data
|
||||
0
|
||||
length
|
||||
)
|
||||
-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> a0-0 param 1) 1.0)
|
||||
(set! (-> a0-0 frame-num) 0.0)
|
||||
(joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0)
|
||||
(->
|
||||
self
|
||||
skel
|
||||
root-channel
|
||||
0
|
||||
frame-group
|
||||
)
|
||||
)
|
||||
num-func-seek!
|
||||
)
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(let ((a0-1 (-> self skel root-channel 0)))
|
||||
(set!
|
||||
(-> a0-1 param 0)
|
||||
(the float (+ (-> a0-1 frame-group data 0 length) -1))
|
||||
)
|
||||
(set! (-> a0-1 param 1) 1.0)
|
||||
(joint-control-channel-group-eval!
|
||||
a0-1
|
||||
(the-as art-joint-anim #f)
|
||||
num-func-seek!
|
||||
)
|
||||
)
|
||||
)
|
||||
(while #t
|
||||
(suspend)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:post
|
||||
(the-as (function none :behavior ecoclaw) ja-post)
|
||||
)
|
||||
|
||||
(defstate ecoclaw-idle (ecoclaw)
|
||||
:event
|
||||
ecoclaw-handler
|
||||
:code
|
||||
(behavior ()
|
||||
(while #t
|
||||
(if (-> self particles 0 kind)
|
||||
(go ecoclaw-activate)
|
||||
)
|
||||
(suspend)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:post
|
||||
(the-as (function none :behavior ecoclaw) ja-post)
|
||||
)
|
||||
|
||||
(defmethod copy-defaults! ecoclaw ((obj ecoclaw) (arg0 res-lump))
|
||||
(set! (-> obj root) (new 'process 'trsqv))
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(dummy-14 obj *ecoclaw-sg* '())
|
||||
(dotimes (v1-3 3)
|
||||
(set! (-> obj particles v1-3 kind) #f)
|
||||
(set! (-> obj particles v1-3 tracker) (the-as handle #f))
|
||||
)
|
||||
(set! *ecoclaw* (the-as (pointer ecoclaw) (process->ppointer obj)))
|
||||
(go ecoclaw-idle)
|
||||
(none)
|
||||
)
|
||||
|
||||
(deftype silodoor (process-drawable)
|
||||
((part-opened float :offset-assert 176)
|
||||
)
|
||||
:heap-base #x50
|
||||
:method-count-assert 22
|
||||
:size-assert #xb4
|
||||
:flag-assert #x16005000b4
|
||||
(:methods
|
||||
(idle () _type_ :state 20)
|
||||
(hidden () _type_ :state 21)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(let
|
||||
((v1-10
|
||||
(new 'static 'skeleton-group
|
||||
:art-group-name "silodoor"
|
||||
:bounds (new 'static 'vector :w 102400.0)
|
||||
:version #x6
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> v1-10 jgeo) 0)
|
||||
(set! (-> v1-10 janim) 2)
|
||||
(set! (-> v1-10 mgeo 0) (the-as uint 1))
|
||||
(set! (-> v1-10 lod-dist 0) 4095996000.0)
|
||||
(set! *silodoor-sg* v1-10)
|
||||
)
|
||||
|
||||
(defstate idle (silodoor)
|
||||
:virtual #t
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(let ((v1-0 arg2))
|
||||
(the-as object (cond
|
||||
((= v1-0 'open)
|
||||
(let ((f0-0 (the-as float (-> arg3 param 0))))
|
||||
(set! (-> self part-opened) f0-0)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
((= v1-0 'hide)
|
||||
(go-virtual hidden)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
:trans
|
||||
(the-as (function none :behavior silodoor) rider-trans)
|
||||
:code
|
||||
(behavior ()
|
||||
(while #t
|
||||
(when (not (movie?))
|
||||
(let ((gp-0 (-> self skel root-channel 0)))
|
||||
(set!
|
||||
(-> gp-0 param 0)
|
||||
(* (-> self part-opened) (the float (ja-num-frames 0)))
|
||||
)
|
||||
(set! (-> gp-0 param 1) 0.01)
|
||||
(joint-control-channel-group-eval!
|
||||
gp-0
|
||||
(the-as art-joint-anim #f)
|
||||
num-func-seek!
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((<
|
||||
0.01
|
||||
(fabs
|
||||
(-
|
||||
(* (-> self part-opened) (the float (ja-num-frames 0)))
|
||||
(ja-aframe-num 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (nonzero? (-> self sound))
|
||||
(update! (-> self sound))
|
||||
)
|
||||
)
|
||||
((nonzero? (-> self sound))
|
||||
(stop! (-> self sound))
|
||||
)
|
||||
)
|
||||
)
|
||||
(suspend)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:post
|
||||
(behavior ()
|
||||
(if
|
||||
(and
|
||||
(< (vector-vector-xz-distance (target-pos 0) (-> self root trans)) 57344.0)
|
||||
(not (ja-min? 0))
|
||||
)
|
||||
(rider-post)
|
||||
(transform-post)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defstate hidden (silodoor)
|
||||
:virtual #t
|
||||
:code
|
||||
(behavior ()
|
||||
(if (nonzero? (-> self sound))
|
||||
(stop! (-> self sound))
|
||||
)
|
||||
(logior! (-> self draw status) 2)
|
||||
(ja-post)
|
||||
(while
|
||||
(not
|
||||
(task-closed? (game-task finalboss-movies) (task-status need-reminder-a))
|
||||
)
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self draw status) (logand -3 (-> self draw status)))
|
||||
(let ((v1-12 (-> self skel root-channel 0)))
|
||||
(set! (-> v1-12 num-func) num-func-identity)
|
||||
(set! (-> v1-12 frame-num) 0.0)
|
||||
)
|
||||
(set! (-> self part-opened) 0.0)
|
||||
(go-virtual idle)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod copy-defaults! silodoor ((obj silodoor) (arg0 res-lump))
|
||||
(let
|
||||
((s4-0
|
||||
(new
|
||||
'process
|
||||
'collide-shape-moving
|
||||
obj
|
||||
(collide-list-enum usually-hit-by-player)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> s4-0 dynam) (copy *standard-dynamics* 'process))
|
||||
(set! (-> s4-0 reaction) default-collision-reaction)
|
||||
(set! (-> s4-0 no-reaction) nothing)
|
||||
(dummy-29 s4-0 1)
|
||||
(let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 4) 0)))
|
||||
(set! (-> s3-0 prim-core collide-as) (the-as uint 2048))
|
||||
(set! (-> s3-0 collide-with) (the-as uint 16))
|
||||
(set! (-> s3-0 prim-core action) (the-as uint 3))
|
||||
(set! (-> s3-0 transform-index) 0)
|
||||
(set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 102400.0)
|
||||
(dummy-46 s4-0)
|
||||
(let
|
||||
((s2-0
|
||||
(new
|
||||
'process
|
||||
'collide-shape-prim-mesh
|
||||
s4-0
|
||||
(the-as uint 0)
|
||||
(the-as uint 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> s2-0 prim-core collide-as) (the-as uint 2048))
|
||||
(set! (-> s2-0 collide-with) (the-as uint 16))
|
||||
(set! (-> s2-0 prim-core action) (the-as uint 19))
|
||||
(set! (-> s2-0 prim-core offense) 4)
|
||||
(set! (-> s2-0 transform-index) 5)
|
||||
(set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 102400.0)
|
||||
)
|
||||
(dummy-28 s3-0)
|
||||
(let
|
||||
((s2-1
|
||||
(new
|
||||
'process
|
||||
'collide-shape-prim-mesh
|
||||
s4-0
|
||||
(the-as uint 1)
|
||||
(the-as uint 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> s2-1 prim-core collide-as) (the-as uint 2048))
|
||||
(set! (-> s2-1 collide-with) (the-as uint 16))
|
||||
(set! (-> s2-1 prim-core action) (the-as uint 19))
|
||||
(set! (-> s2-1 prim-core offense) 4)
|
||||
(set! (-> s2-1 transform-index) 4)
|
||||
(set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 102400.0)
|
||||
)
|
||||
(dummy-28 s3-0)
|
||||
(let
|
||||
((s2-2
|
||||
(new
|
||||
'process
|
||||
'collide-shape-prim-mesh
|
||||
s4-0
|
||||
(the-as uint 2)
|
||||
(the-as uint 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> s2-2 prim-core collide-as) (the-as uint 2048))
|
||||
(set! (-> s2-2 collide-with) (the-as uint 16))
|
||||
(set! (-> s2-2 prim-core action) (the-as uint 19))
|
||||
(set! (-> s2-2 prim-core offense) 4)
|
||||
(set! (-> s2-2 transform-index) 7)
|
||||
(set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 102400.0)
|
||||
)
|
||||
(dummy-28 s3-0)
|
||||
(let
|
||||
((s2-3
|
||||
(new
|
||||
'process
|
||||
'collide-shape-prim-mesh
|
||||
s4-0
|
||||
(the-as uint 3)
|
||||
(the-as uint 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> s2-3 prim-core collide-as) (the-as uint 2048))
|
||||
(set! (-> s2-3 collide-with) (the-as uint 16))
|
||||
(set! (-> s2-3 prim-core action) (the-as uint 19))
|
||||
(set! (-> s2-3 prim-core offense) 4)
|
||||
(set! (-> s2-3 transform-index) 6)
|
||||
(set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 102400.0)
|
||||
)
|
||||
(dummy-28 s3-0)
|
||||
)
|
||||
(set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w)))
|
||||
(dummy-50 s4-0)
|
||||
(set! (-> obj root) s4-0)
|
||||
)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(dummy-14 obj *silodoor-sg* '())
|
||||
(logior! (-> obj skel status) 1)
|
||||
(set! (-> obj root pause-adjust-distance) 1228800.0)
|
||||
(set!
|
||||
(-> obj sound)
|
||||
(new
|
||||
'process
|
||||
'ambient-sound
|
||||
(new 'static 'sound-spec
|
||||
:mask #x80
|
||||
:num 1.0
|
||||
:group #x1
|
||||
:sound-name
|
||||
(new 'static 'sound-name :lo #x766f6d2d6f6c6973)
|
||||
:volume #x400
|
||||
:fo-max 80
|
||||
)
|
||||
(-> obj root trans)
|
||||
)
|
||||
)
|
||||
(logclear! (-> obj mask) (process-mask actor-pause crate enemy attackable))
|
||||
(set! (-> obj part-opened) 0.0)
|
||||
(go (method-of-object obj idle))
|
||||
(none)
|
||||
)
|
||||
|
||||
(deftype finalbosscam (process-taskable)
|
||||
((robotboss handle :offset-assert 384)
|
||||
)
|
||||
:heap-base #x120
|
||||
:method-count-assert 53
|
||||
:size-assert #x188
|
||||
:flag-assert #x3501200188
|
||||
)
|
||||
|
||||
|
||||
(let
|
||||
((v1-17
|
||||
(new 'static 'skeleton-group
|
||||
:art-group-name "finalbosscam"
|
||||
:bounds (new 'static 'vector :w 16384.0)
|
||||
:version #x6
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> v1-17 jgeo) 0)
|
||||
(set! (-> v1-17 janim) 2)
|
||||
(set! (-> v1-17 mgeo 0) (the-as uint 1))
|
||||
(set! (-> v1-17 lod-dist 0) 4095996000.0)
|
||||
(set! *finalbosscam-sg* v1-17)
|
||||
)
|
||||
|
||||
(defbehavior robotboss-manipy-trans-hook robotboss ()
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(vector<-cspace! gp-0 (-> self node-list data 7))
|
||||
(spawn (-> self part) gp-0)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod play-anim! finalbosscam ((obj finalbosscam) (arg0 symbol))
|
||||
(with-pp
|
||||
(when arg0
|
||||
(let ((s5-0 (get-process *default-dead-pool* manipy #x4000)))
|
||||
(set! (-> obj robotboss) (ppointer->handle (when s5-0
|
||||
(let
|
||||
((t9-1
|
||||
(method-of-type
|
||||
manipy
|
||||
activate
|
||||
)
|
||||
)
|
||||
)
|
||||
(t9-1
|
||||
(the-as manipy s5-0)
|
||||
obj
|
||||
'manipy
|
||||
(the-as pointer #x70004000)
|
||||
)
|
||||
)
|
||||
(run-now-in-process
|
||||
s5-0
|
||||
manipy-init
|
||||
(-> obj root-override trans)
|
||||
(-> obj entity)
|
||||
*robotboss-sg*
|
||||
#f
|
||||
)
|
||||
(-> s5-0 ppointer)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-4 from) pp)
|
||||
(set! (-> a1-4 num-params) 1)
|
||||
(set! (-> a1-4 message) 'anim-mode)
|
||||
(set! (-> a1-4 param 0) (the-as uint 'clone-anim))
|
||||
(send-event-function (handle->process (-> obj robotboss)) a1-4)
|
||||
)
|
||||
(let ((a1-5 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-5 from) pp)
|
||||
(set! (-> a1-5 num-params) 1)
|
||||
(set! (-> a1-5 message) 'center-joint)
|
||||
(set! (-> a1-5 param 0) (the-as uint 3))
|
||||
(send-event-function (handle->process (-> obj robotboss)) a1-5)
|
||||
)
|
||||
(let ((a1-6 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-6 from) pp)
|
||||
(set! (-> a1-6 num-params) 1)
|
||||
(set! (-> a1-6 message) 'origin-joint-index)
|
||||
(set! (-> a1-6 param 0) (the-as uint 3))
|
||||
(send-event-function (handle->process (-> obj robotboss)) a1-6)
|
||||
)
|
||||
(let ((a1-7 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-7 from) pp)
|
||||
(set! (-> a1-7 num-params) 1)
|
||||
(set! (-> a1-7 message) 'trans-hook)
|
||||
(set! (-> a1-7 param 0) (the-as uint robotboss-manipy-trans-hook))
|
||||
(send-event-function (handle->process (-> obj robotboss)) a1-7)
|
||||
)
|
||||
(let ((a1-8 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-8 from) pp)
|
||||
(set! (-> a1-8 num-params) 1)
|
||||
(set! (-> a1-8 message) 'eval)
|
||||
(set!
|
||||
(-> a1-8 param 0)
|
||||
(the-as
|
||||
uint
|
||||
(lambda :behavior finalbosscam
|
||||
()
|
||||
(let
|
||||
((v0-0 (create-launch-control (-> *part-group-id-table* 645) self)))
|
||||
(set! (-> self part) v0-0)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event-function (handle->process (-> obj robotboss)) a1-8)
|
||||
)
|
||||
(let ((v1-43 (handle->process (-> obj robotboss))))
|
||||
(if v1-43
|
||||
(set! (-> (the-as robotboss v1-43) draw bounds w) 327680.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(the-as
|
||||
basic
|
||||
(new 'static 'spool-anim
|
||||
:name "finalbosscam-white-eco"
|
||||
:index 3
|
||||
:parts 3
|
||||
:command-list '()
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod get-art-elem finalbosscam ((obj finalbosscam))
|
||||
(-> obj draw art-group data 2)
|
||||
)
|
||||
|
||||
(defmethod should-display? finalbosscam ((obj finalbosscam))
|
||||
#f
|
||||
)
|
||||
|
||||
(defstate play-anim (finalbosscam)
|
||||
:virtual #t
|
||||
:exit
|
||||
(behavior ()
|
||||
(let ((a0-1 (handle->process (-> self robotboss))))
|
||||
(if a0-1
|
||||
(deactivate a0-1)
|
||||
)
|
||||
)
|
||||
((-> (method-of-type process-taskable play-anim) exit))
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defbehavior finalbosscam-init-by-other finalbosscam ((arg0 entity))
|
||||
(set! (-> self entity) arg0)
|
||||
(dummy-40 self arg0 *finalbosscam-sg* 4 4 (new 'static 'vector :w 4096.0) 4)
|
||||
(set! (-> self tasks) (get-task-control (game-task finalboss-movies)))
|
||||
(set! (-> self robotboss) (the-as handle #f))
|
||||
(go-virtual hidden)
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -5,3 +5,10 @@
|
||||
;; name in dgo: sage-finalboss
|
||||
;; dgos: FIN
|
||||
|
||||
(define-extern *robotboss-cinematic-sg* skeleton-group)
|
||||
(define-extern *jak-white-sg* skeleton-group)
|
||||
(define-extern *plat-eco-finalboss-unlit-sg* skeleton-group)
|
||||
(define-extern *plat-eco-finalboss-lit-sg* skeleton-group)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
assistant-firecanyon
|
||||
((obj assistant-firecanyon) (arg0 symbol))
|
||||
(case (current-status (-> obj tasks))
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(if arg0
|
||||
(close-current! (-> obj tasks))
|
||||
)
|
||||
@@ -106,7 +106,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string (the-as task-status (current-status (-> obj tasks))))
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 3)
|
||||
@@ -115,7 +115,7 @@
|
||||
)
|
||||
|
||||
(defmethod get-art-elem assistant-firecanyon ((obj assistant-firecanyon))
|
||||
(if (zero? (current-status (-> obj tasks)))
|
||||
(if (= (current-status (-> obj tasks)) (task-status invalid))
|
||||
(-> obj draw art-group data 8)
|
||||
(-> obj draw art-group data 3)
|
||||
)
|
||||
@@ -140,10 +140,7 @@
|
||||
#t
|
||||
)
|
||||
(else
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
#f
|
||||
)
|
||||
)
|
||||
@@ -163,13 +160,7 @@
|
||||
(logtest? (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l3))
|
||||
)
|
||||
)
|
||||
(<
|
||||
(-
|
||||
(-> *display* base-frame-counter)
|
||||
(the-as int (-> self state-time))
|
||||
)
|
||||
3000
|
||||
)
|
||||
(< (- (-> *display* base-frame-counter) (-> self state-time)) 3000)
|
||||
)
|
||||
)
|
||||
(hide-hud)
|
||||
@@ -244,7 +235,7 @@
|
||||
(while #t
|
||||
(let ((gp-0 #t))
|
||||
(cond
|
||||
((zero? (current-status (-> self tasks)))
|
||||
((= (current-status (-> self tasks)) (task-status invalid))
|
||||
(let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256))
|
||||
(v1-9 (the-as number (logior #x3f800000 v1-8)))
|
||||
)
|
||||
@@ -843,7 +834,7 @@
|
||||
|
||||
(defmethod should-display? assistant-firecanyon ((obj assistant-firecanyon))
|
||||
(first-any (-> obj tasks) #t)
|
||||
(= (current-status (-> obj tasks)) 6)
|
||||
(= (current-status (-> obj tasks)) (task-status need-reward-speech))
|
||||
)
|
||||
|
||||
(defmethod
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
(define-extern bouncer-fire (state springbox)) ;; unknown type
|
||||
(define-extern bouncer-smush (state springbox)) ;; unknown type
|
||||
|
||||
;; definition of type springbox
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype springbox (process-drawable)
|
||||
((spring-height meters :offset-assert 176)
|
||||
(smush float :offset-assert 180)
|
||||
@@ -22,10 +23,9 @@
|
||||
:flag-assert #x14005000b8
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(method-set! springbox 12 (method-of-type process run-logic?))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-2
|
||||
(new 'static 'skeleton-group
|
||||
@@ -42,7 +42,6 @@
|
||||
(set! *bouncer-sg* v1-2)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate bouncer-wait (springbox)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -134,16 +133,12 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate bouncer-smush (springbox)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(case arg2
|
||||
(('touch)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
#f
|
||||
)
|
||||
(else
|
||||
@@ -153,17 +148,11 @@
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self smush) 0.0)
|
||||
(while #t
|
||||
(cond
|
||||
((>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
60
|
||||
)
|
||||
((>= (- (-> *display* base-frame-counter) (-> self state-time)) 60)
|
||||
(let ((a0-1 (-> self skel root-channel 0)))
|
||||
(set! (-> a0-1 param 0) 0.0)
|
||||
(set! (-> a0-1 param 1) 0.1)
|
||||
@@ -206,7 +195,6 @@
|
||||
(the-as (function none :behavior springbox) transform-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate bouncer-fire (springbox)
|
||||
:code
|
||||
(behavior ()
|
||||
@@ -261,7 +249,6 @@
|
||||
(the-as (function none :behavior springbox) transform-post)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type springbox
|
||||
(defmethod copy-defaults! springbox ((obj springbox) (arg0 res-lump))
|
||||
(let
|
||||
((s4-0
|
||||
@@ -304,3 +291,7 @@
|
||||
(go bouncer-wait)
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
|
||||
(define-extern *hopper-sg* skeleton-group)
|
||||
|
||||
;; definition of type hopper
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype hopper (nav-enemy)
|
||||
((jump-length float :offset-assert 400)
|
||||
(shadow-min-y float :offset-assert 404)
|
||||
@@ -18,17 +19,7 @@
|
||||
:flag-assert #x4c01300198
|
||||
)
|
||||
|
||||
;; definition for method 3 of type hopper
|
||||
(defmethod inspect hopper ((obj hopper))
|
||||
(let ((t9-0 (method-of-type nav-enemy inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~T~Tjump-length: ~f~%" (-> obj jump-length))
|
||||
(format #t "~T~Tshadow-min-y: ~f~%" (-> obj shadow-min-y))
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-1
|
||||
(new 'static 'skeleton-group
|
||||
@@ -52,11 +43,8 @@
|
||||
(set! *hopper-sg* v1-1)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
nav-enemy-default-event-handler
|
||||
|
||||
;; definition for method 39 of type hopper
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod common-post hopper ((obj hopper))
|
||||
(let ((v1-1 (-> obj draw shadow-ctrl)))
|
||||
(set!
|
||||
@@ -70,9 +58,6 @@ nav-enemy-default-event-handler
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function hopper-find-ground
|
||||
;; INFO: Return type mismatch int vs object.
|
||||
;; Used lq/sq
|
||||
(defbehavior hopper-find-ground hopper ((arg0 vector))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
||||
(let ((t1-0 (new 'stack-no-clear 'collide-tri-result))
|
||||
@@ -104,9 +89,6 @@ nav-enemy-default-event-handler
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for function hopper-jump-to
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior hopper-jump-to hopper ((arg0 vector))
|
||||
(set! (-> self jump-dest quad) (-> arg0 quad))
|
||||
(hopper-find-ground (-> self jump-dest))
|
||||
@@ -144,8 +126,6 @@ nav-enemy-default-event-handler
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function hopper-do-jump
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior hopper-do-jump hopper ()
|
||||
(dummy-11 (-> self nav) (-> self nav target-pos))
|
||||
(if (< (-> self jump-length) (vector-length (-> self nav travel)))
|
||||
@@ -161,7 +141,6 @@ nav-enemy-default-event-handler
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-idle (hopper)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -266,7 +245,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-patrol (hopper)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -394,10 +372,7 @@ nav-enemy-default-event-handler
|
||||
(ja-channel-push! 1 22)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(let ((gp-0 (-> self skel root-channel 0)))
|
||||
(joint-control-channel-group-eval!
|
||||
gp-0
|
||||
@@ -406,11 +381,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
(set! (-> gp-0 frame-num) 0.0)
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
150
|
||||
)
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150)
|
||||
(suspend)
|
||||
(let ((a0-21 (-> self skel root-channel 0)))
|
||||
(set! (-> a0-21 param 0) 1.0)
|
||||
@@ -439,7 +410,6 @@ nav-enemy-default-event-handler
|
||||
(the-as (function none :behavior hopper) nav-enemy-jump-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-notice (hopper)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -454,7 +424,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-chase (hopper)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -582,10 +551,7 @@ nav-enemy-default-event-handler
|
||||
(ja-channel-push! 1 22)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(let ((gp-0 (-> self skel root-channel 0)))
|
||||
(joint-control-channel-group-eval!
|
||||
gp-0
|
||||
@@ -594,11 +560,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
(set! (-> gp-0 frame-num) 0.0)
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
60
|
||||
)
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60)
|
||||
(suspend)
|
||||
(let ((a0-21 (-> self skel root-channel 0)))
|
||||
(set! (-> a0-21 param 0) 1.0)
|
||||
@@ -618,7 +580,6 @@ nav-enemy-default-event-handler
|
||||
(the-as (function none :behavior hopper) nav-enemy-jump-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-stop-chase (hopper)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -633,7 +594,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *hopper-nav-enemy-info*, type nav-enemy-info
|
||||
(define
|
||||
*hopper-nav-enemy-info*
|
||||
(new 'static 'nav-enemy-info
|
||||
@@ -652,11 +612,11 @@ nav-enemy-default-event-handler
|
||||
:run-travel-speed (meters 10.0)
|
||||
:run-rotate-speed (degrees 7999.9995)
|
||||
:run-acceleration (meters 1.0)
|
||||
:run-turn-time #x1e
|
||||
:run-turn-time (seconds 0.1)
|
||||
:walk-travel-speed (meters 6.0)
|
||||
:walk-rotate-speed (degrees 7999.9995)
|
||||
:walk-acceleration (meters 1.0)
|
||||
:walk-turn-time #x1e
|
||||
:walk-turn-time (seconds 0.1)
|
||||
:attack-shove-back (meters 3.0)
|
||||
:attack-shove-up (meters 2.0)
|
||||
:shadow-size (meters 2.0)
|
||||
@@ -690,8 +650,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 47 of type hopper
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod initialize-collision hopper ((obj hopper))
|
||||
(let
|
||||
((s5-0
|
||||
@@ -738,8 +696,6 @@ nav-enemy-default-event-handler
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 48 of type hopper
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-48 hopper ((obj hopper))
|
||||
(dummy-14 obj *hopper-sg* '())
|
||||
(TODO-RENAME-45 obj *hopper-nav-enemy-info*)
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
assistant-lavatube-start
|
||||
((obj assistant-lavatube-start) (arg0 symbol))
|
||||
(case (current-status (-> obj tasks))
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(if arg0
|
||||
(close-current! (-> obj tasks))
|
||||
)
|
||||
@@ -72,7 +72,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string (the-as task-status (current-status (-> obj tasks))))
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(get-art-elem obj)
|
||||
@@ -103,10 +103,7 @@
|
||||
#t
|
||||
)
|
||||
(else
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
#f
|
||||
)
|
||||
)
|
||||
@@ -126,13 +123,7 @@
|
||||
(logtest? (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l3))
|
||||
)
|
||||
)
|
||||
(<
|
||||
(-
|
||||
(-> *display* base-frame-counter)
|
||||
(the-as int (-> self state-time))
|
||||
)
|
||||
3000
|
||||
)
|
||||
(< (- (-> *display* base-frame-counter) (-> self state-time)) 3000)
|
||||
)
|
||||
)
|
||||
(hide-hud)
|
||||
@@ -315,7 +306,7 @@
|
||||
assistant-lavatube-start
|
||||
((obj assistant-lavatube-start))
|
||||
(first-any (-> obj tasks) #t)
|
||||
(= (current-status (-> obj tasks)) 6)
|
||||
(= (current-status (-> obj tasks)) (task-status need-reward-speech))
|
||||
)
|
||||
|
||||
(defmethod
|
||||
|
||||
@@ -7,11 +7,6 @@
|
||||
|
||||
(define-extern *baby-spider-sg* skeleton-group)
|
||||
|
||||
(declare-type baby-spider nav-enemy)
|
||||
(define-extern baby-spider-hatching (state baby-spider)) ;; unknown type
|
||||
(define-extern baby-spider-resume (state baby-spider)) ;; unknown type
|
||||
(define-extern baby-spider-die-fast (state baby-spider)) ;; unknown type
|
||||
|
||||
(declare-type cave-trap process-drawable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
@@ -24,14 +19,14 @@
|
||||
(pickup int32 :offset-assert 16)
|
||||
(pickup-amount int32 :offset-assert 20)
|
||||
(event-death symbol :offset-assert 24)
|
||||
(delay-before-dying-if-not-visible uint64 :offset-assert 32)
|
||||
(delay-before-dying-if-not-visible int64 :offset-assert 32)
|
||||
)
|
||||
:method-count-assert 11
|
||||
:size-assert #x28
|
||||
:flag-assert #xb00000028
|
||||
(:methods
|
||||
(init! (_type_ symbol symbol symbol symbol int int symbol) int 9)
|
||||
(set-delay! (_type_ uint) uint 10)
|
||||
(set-delay! (_type_ int) int 10)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -44,13 +39,13 @@
|
||||
(delta-wiggle-angle float :offset-assert 416)
|
||||
(wiggle-factor float :offset-assert 420)
|
||||
(event-death symbol :offset-assert 424)
|
||||
(delay-before-dying-if-not-visible uint64 :offset-assert 432)
|
||||
(chase-rest-time uint64 :offset-assert 440)
|
||||
(target-nav-time uint64 :offset-assert 448)
|
||||
(delay-before-dying-if-not-visible int64 :offset-assert 432)
|
||||
(chase-rest-time int64 :offset-assert 440)
|
||||
(target-nav-time int64 :offset-assert 448)
|
||||
(unknown00 basic :offset-assert 456)
|
||||
(unknown01 basic :offset-assert 460)
|
||||
(wiggle-time uint64 :offset-assert 464)
|
||||
(last-visible-time uint64 :offset-assert 472)
|
||||
(wiggle-time int64 :offset-assert 464)
|
||||
(last-visible-time int64 :offset-assert 472)
|
||||
(up-vector vector :inline :offset-assert 480)
|
||||
(state-vector vector :inline :offset-assert 496)
|
||||
)
|
||||
@@ -58,6 +53,11 @@
|
||||
:method-count-assert 76
|
||||
:size-assert #x200
|
||||
:flag-assert #x4c01900200
|
||||
(:states
|
||||
baby-spider-hatching
|
||||
baby-spider-resume
|
||||
baby-spider-die-fast
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -101,11 +101,11 @@
|
||||
:run-travel-speed (meters 7.0)
|
||||
:run-rotate-speed (degrees 7999.9995)
|
||||
:run-acceleration (meters 1.0)
|
||||
:run-turn-time #x16
|
||||
:run-turn-time (seconds 0.07333333)
|
||||
:walk-travel-speed (meters 2.0)
|
||||
:walk-rotate-speed (degrees 7999.9995)
|
||||
:walk-acceleration (meters 1.0)
|
||||
:walk-turn-time #x16
|
||||
:walk-turn-time (seconds 0.07333333)
|
||||
:attack-shove-back (meters 3.0)
|
||||
:attack-shove-up (meters 2.0)
|
||||
:shadow-size (meters 1.0)
|
||||
@@ -156,11 +156,11 @@
|
||||
:run-travel-speed (meters 7.0)
|
||||
:run-rotate-speed (degrees 7999.9995)
|
||||
:run-acceleration (meters 1.0)
|
||||
:run-turn-time #x16
|
||||
:run-turn-time (seconds 0.07333333)
|
||||
:walk-travel-speed (meters 2.0)
|
||||
:walk-rotate-speed (degrees 7999.9995)
|
||||
:walk-acceleration (meters 1.0)
|
||||
:walk-turn-time #x16
|
||||
:walk-turn-time (seconds 0.07333333)
|
||||
:attack-shove-back (meters 3.0)
|
||||
:attack-shove-up (meters 2.0)
|
||||
:shadow-size (meters 1.0)
|
||||
@@ -214,7 +214,7 @@
|
||||
(set! (-> obj pickup-amount) arg5)
|
||||
(set! (-> obj event-death) arg6)
|
||||
(let ((v0-0 600))
|
||||
(set! (-> obj delay-before-dying-if-not-visible) (the-as uint v0-0))
|
||||
(set! (-> obj delay-before-dying-if-not-visible) v0-0)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
@@ -222,7 +222,7 @@
|
||||
(defmethod
|
||||
set-delay!
|
||||
baby-spider-spawn-params
|
||||
((obj baby-spider-spawn-params) (arg0 uint))
|
||||
((obj baby-spider-spawn-params) (arg0 int))
|
||||
(set! (-> obj delay-before-dying-if-not-visible) arg0)
|
||||
arg0
|
||||
)
|
||||
@@ -297,7 +297,7 @@ baby-spider-default-event-handler
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod dummy-51 baby-spider ((obj baby-spider))
|
||||
(defmethod dummy-51 baby-spider ((obj baby-spider) (arg0 vector))
|
||||
(let* ((f0-0 (rand-vu-float-range 0.0 1.0))
|
||||
(f1-1 (+ 1.0 (* 2.0 f0-0)))
|
||||
(f2-2 f1-1)
|
||||
@@ -308,7 +308,7 @@ baby-spider-default-event-handler
|
||||
(set! (-> obj wiggle-factor) (* 1.5 f2-4))
|
||||
(let ((f0-3 (* 28672.0 f0-2)))
|
||||
(set! (-> obj target-speed) f0-3)
|
||||
f0-3
|
||||
(the-as object f0-3)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -334,28 +334,22 @@ baby-spider-default-event-handler
|
||||
(v0-3 (-> obj nav target-pos))
|
||||
)
|
||||
(set! (-> v0-3 quad) (-> v1-4 quad))
|
||||
v0-3
|
||||
(the-as symbol v0-3)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod dummy-53 baby-spider ((obj baby-spider))
|
||||
(cond
|
||||
((logtest? (-> obj draw status) 8)
|
||||
(set!
|
||||
(-> obj last-visible-time)
|
||||
(the-as uint (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> obj last-visible-time) (-> *display* base-frame-counter))
|
||||
(return #f)
|
||||
)
|
||||
(else
|
||||
(if (-> obj die-if-not-visible?)
|
||||
(return
|
||||
(>=
|
||||
(-
|
||||
(-> *display* base-frame-counter)
|
||||
(the-as int (-> obj last-visible-time))
|
||||
)
|
||||
(the-as int (-> obj delay-before-dying-if-not-visible))
|
||||
(- (-> *display* base-frame-counter) (-> obj last-visible-time))
|
||||
(-> obj delay-before-dying-if-not-visible)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -447,7 +441,7 @@ baby-spider-default-event-handler
|
||||
)
|
||||
)
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self state-timeout)
|
||||
)
|
||||
(nonzero? (-> self draw))
|
||||
@@ -676,8 +670,8 @@ baby-spider-default-event-handler
|
||||
)
|
||||
(if
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(the-as int (-> self chase-rest-time))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self chase-rest-time)
|
||||
)
|
||||
(go-virtual nav-enemy-victory)
|
||||
)
|
||||
@@ -690,44 +684,30 @@ baby-spider-default-event-handler
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self target-nav-time)
|
||||
(the-as uint (-> *display* base-frame-counter))
|
||||
)
|
||||
(set!
|
||||
(-> self wiggle-time)
|
||||
(the-as uint (+ (-> *display* base-frame-counter) -3000))
|
||||
)
|
||||
(set! (-> self target-nav-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) -3000))
|
||||
(set! (-> self wiggle-angle) 0.0)
|
||||
(set! (-> self chase-rest-time) (the-as uint (rand-vu-int-range 300 1200)))
|
||||
(set! (-> self chase-rest-time) (rand-vu-int-range 300 1200))
|
||||
(ja-channel-push! 1 51)
|
||||
(let ((gp-0 (-> self skel root-channel 0)))
|
||||
(joint-control-channel-group-eval!
|
||||
gp-0
|
||||
(the-as art-joint-anim (-> self draw art-group data 7))
|
||||
num-func-identity
|
||||
)
|
||||
(let* ((gp-0 (-> self skel root-channel 0))
|
||||
(t9-2 joint-control-channel-group-eval!)
|
||||
(a0-2 gp-0)
|
||||
(a1-2 (-> self draw art-group data 7))
|
||||
)
|
||||
(t9-2 a0-2 (the-as art-joint-anim a1-2) num-func-identity)
|
||||
(set! (-> gp-0 frame-num) 0.0)
|
||||
)
|
||||
(while #t
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self wiggle-time)))
|
||||
300
|
||||
(while #t
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> self wiggle-time)) 300)
|
||||
(set! (-> self wiggle-time) (-> *display* base-frame-counter))
|
||||
(dummy-51 self (the-as vector a1-2))
|
||||
)
|
||||
(set!
|
||||
(-> self wiggle-time)
|
||||
(the-as uint (-> *display* base-frame-counter))
|
||||
)
|
||||
(dummy-51 self)
|
||||
)
|
||||
(suspend)
|
||||
(let ((a0-5 (-> self skel root-channel 0)))
|
||||
(set! (-> a0-5 param 0) 1.0)
|
||||
(joint-control-channel-group-eval!
|
||||
a0-5
|
||||
(the-as art-joint-anim #f)
|
||||
num-func-loop!
|
||||
(suspend)
|
||||
(let ((a0-5 (-> self skel root-channel 0)))
|
||||
(set! (-> a0-5 param 0) 1.0)
|
||||
(let ((t9-4 joint-control-channel-group-eval!))
|
||||
(set! a1-2 (the-as art-element #f))
|
||||
(t9-4 a0-5 (the-as art-joint-anim a1-2) num-func-loop!)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1142,10 +1122,7 @@ baby-spider-default-event-handler
|
||||
)
|
||||
|
||||
(defmethod TODO-RENAME-48 baby-spider ((obj baby-spider))
|
||||
(set!
|
||||
(-> obj last-visible-time)
|
||||
(the-as uint (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> obj last-visible-time) (-> *display* base-frame-counter))
|
||||
(dummy-14 obj *baby-spider-sg* '())
|
||||
(if (= (-> obj parent 0 type) cave-trap)
|
||||
(TODO-RENAME-45 obj *baby-spider-nav-enemy-info-for-cave-trap*)
|
||||
@@ -1163,7 +1140,7 @@ baby-spider-default-event-handler
|
||||
(set! (-> obj delta-wiggle-angle) 910.2222)
|
||||
(set! (-> obj wiggle-factor) 1.5)
|
||||
(set! (-> obj reaction-time) (rand-vu-int-range 30 240))
|
||||
(set! (-> obj chase-rest-time) (the-as uint 300))
|
||||
(set! (-> obj chase-rest-time) 300)
|
||||
(set! (-> obj up-vector quad) (-> *y-vector* quad))
|
||||
0
|
||||
(none)
|
||||
@@ -1220,7 +1197,7 @@ baby-spider-default-event-handler
|
||||
|
||||
(defmethod copy-defaults! baby-spider ((obj baby-spider) (arg0 res-lump))
|
||||
(set! (-> obj die-if-not-visible?) #f)
|
||||
(set! (-> obj delay-before-dying-if-not-visible) (the-as uint 600))
|
||||
(set! (-> obj delay-before-dying-if-not-visible) 600)
|
||||
(set! (-> obj hack-move-above-ground?) #f)
|
||||
(set! (-> obj event-death) #f)
|
||||
(initialize-collision obj)
|
||||
|
||||
@@ -7,10 +7,6 @@
|
||||
|
||||
(define-extern *spiderwebs-sg* skeleton-group)
|
||||
|
||||
(declare-type spiderwebs process-drawable)
|
||||
(define-extern spiderwebs-bounce (state spiderwebs)) ;; unknown type
|
||||
(define-extern spiderwebs-idle (state spiderwebs)) ;; unknown type
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(define
|
||||
@@ -51,6 +47,10 @@
|
||||
:method-count-assert 20
|
||||
:size-assert #xb4
|
||||
:flag-assert #x14005000b4
|
||||
(:states
|
||||
spiderwebs-idle
|
||||
spiderwebs-bounce
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
bonelurker
|
||||
((obj bonelurker) (arg0 process) (arg1 event-message-block))
|
||||
(with-pp
|
||||
(set! (-> obj state-time) (the-as seconds (-> *display* base-frame-counter)))
|
||||
(set! (-> obj state-time) (-> *display* base-frame-counter))
|
||||
(let ((a1-1 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-1 from) pp)
|
||||
(set! (-> a1-1 num-params) 2)
|
||||
@@ -1106,11 +1106,11 @@ nav-enemy-default-event-handler
|
||||
:run-travel-speed (meters 6.0)
|
||||
:run-rotate-speed (degrees 2880.0)
|
||||
:run-acceleration (meters 1.0)
|
||||
:run-turn-time #x1e
|
||||
:run-turn-time (seconds 0.1)
|
||||
:walk-travel-speed (meters 3.0)
|
||||
:walk-rotate-speed (degrees 2880.0)
|
||||
:walk-acceleration (meters 1.0)
|
||||
:walk-turn-time #x1e
|
||||
:walk-turn-time (seconds 0.1)
|
||||
:attack-shove-back (meters 3.0)
|
||||
:attack-shove-up (meters 2.0)
|
||||
:shadow-size (meters 2.0)
|
||||
|
||||
@@ -296,10 +296,7 @@
|
||||
(vector<-cspace! (-> self root-override trans) gp-0)
|
||||
)
|
||||
(set! (-> self path-position quad) (-> self root-override trans quad))
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(suspend)
|
||||
)
|
||||
(none)
|
||||
@@ -347,10 +344,7 @@
|
||||
(while #t
|
||||
(if
|
||||
(>=
|
||||
(the
|
||||
float
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
)
|
||||
(the float (- (-> *display* base-frame-counter) (-> self state-time)))
|
||||
f30-0
|
||||
)
|
||||
(go keg-on-path)
|
||||
@@ -358,13 +352,7 @@
|
||||
(let
|
||||
((f28-0
|
||||
(/
|
||||
(the
|
||||
float
|
||||
(-
|
||||
(-> *display* base-frame-counter)
|
||||
(the-as int (-> self state-time))
|
||||
)
|
||||
)
|
||||
(the float (- (-> *display* base-frame-counter) (-> self state-time)))
|
||||
f30-0
|
||||
)
|
||||
)
|
||||
@@ -624,16 +612,9 @@
|
||||
0
|
||||
(dummy-48 (-> self root-override))
|
||||
(vector-normalize! gp-0 1.0)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(while #t
|
||||
(if
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
300
|
||||
)
|
||||
(if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
|
||||
(go keg-die)
|
||||
)
|
||||
(let ((v1-23 (-> self root-override trans)))
|
||||
|
||||
@@ -8,8 +8,13 @@
|
||||
(define-extern *rounddoor-sg* skeleton-group)
|
||||
(define-extern *silostep-sg* skeleton-group)
|
||||
|
||||
(declare-type silostep process-drawable)
|
||||
(define-extern silostep-rise (state symbol silostep))
|
||||
(define-extern silostep-idle (state silostep))
|
||||
(define-extern silostep-camera (state silostep))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
;; definition of type silostep
|
||||
(deftype silostep (process-drawable)
|
||||
((anim-limit float :offset-assert 176)
|
||||
(cam-tracker uint64 :offset-assert 184)
|
||||
@@ -20,11 +25,7 @@
|
||||
:flag-assert #x14005000c0
|
||||
)
|
||||
|
||||
(define-extern silostep-rise (state symbol silostep))
|
||||
(define-extern silostep-idle (state silostep))
|
||||
(define-extern silostep-camera (state silostep))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-1
|
||||
(new 'static 'skeleton-group
|
||||
@@ -42,7 +43,6 @@
|
||||
(set! *silostep-sg* v1-1)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate silostep-idle (silostep)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -78,8 +78,6 @@
|
||||
(the-as (function none :behavior silostep) ja-post)
|
||||
)
|
||||
|
||||
;; definition for function misty-camera-view
|
||||
;; INFO: Return type mismatch int vs handle.
|
||||
(defbehavior misty-camera-view silostep ()
|
||||
(let* ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))
|
||||
(v1-1 (when gp-0
|
||||
@@ -130,7 +128,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate silostep-camera (silostep)
|
||||
:code
|
||||
(behavior ()
|
||||
@@ -140,10 +137,7 @@
|
||||
)
|
||||
(save-reminder gp-0 (logior v1-1 2) 0)
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(let ((gp-1 (-> *display* base-frame-counter)))
|
||||
(until (>= (- (-> *display* base-frame-counter) gp-1) 300)
|
||||
(suspend)
|
||||
@@ -166,7 +160,6 @@
|
||||
(the-as (function none :behavior silostep) ja-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate silostep-rise (silostep)
|
||||
:code
|
||||
(behavior ((arg0 symbol))
|
||||
@@ -220,7 +213,6 @@
|
||||
(the-as (function none :behavior silostep) #f)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type silostep
|
||||
(defmethod copy-defaults! silostep ((obj silostep) (arg0 res-lump))
|
||||
(logior! (-> obj mask) (process-mask movie-subject))
|
||||
(let
|
||||
@@ -282,7 +274,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-6
|
||||
(new 'static 'skeleton-group
|
||||
@@ -302,7 +293,6 @@
|
||||
(set! *rounddoor-sg* v1-6)
|
||||
)
|
||||
|
||||
;; definition of type rounddoor
|
||||
(deftype rounddoor (eco-door)
|
||||
()
|
||||
:heap-base #xa0
|
||||
@@ -311,16 +301,7 @@
|
||||
:flag-assert #x1b00a00104
|
||||
)
|
||||
|
||||
;; definition for method 3 of type rounddoor
|
||||
(defmethod inspect rounddoor ((obj rounddoor))
|
||||
(let ((t9-0 (method-of-type eco-door inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 24 of type rounddoor
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-24 rounddoor ((obj rounddoor))
|
||||
(let
|
||||
((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others))))
|
||||
@@ -351,9 +332,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 25 of type rounddoor
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod TODO-RENAME-25 rounddoor ((obj rounddoor))
|
||||
(dummy-14 obj *rounddoor-sg* '())
|
||||
(set! (-> obj open-distance) 69632.0)
|
||||
@@ -372,3 +350,7 @@
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -89,17 +89,12 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function muse-get-path-point
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior muse-get-path-point muse ((arg0 vector) (arg1 int))
|
||||
(eval-path-curve-div! (-> self path) arg0 (the float arg1) 'interp)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function muse-check-dest-point
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defbehavior muse-check-dest-point muse ()
|
||||
(let ((gp-0 (new 'stack-no-clear 'point-on-path-segment-info))
|
||||
(f26-0 4096000.0)
|
||||
@@ -177,9 +172,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 51 of type muse
|
||||
;; INFO: Return type mismatch int vs float.
|
||||
(defmethod dummy-51 muse ((obj muse))
|
||||
(defmethod dummy-51 muse ((obj muse) (arg0 vector))
|
||||
(dotimes (s5-0 2)
|
||||
(let ((v1-2 (rand-vu-int-range 3 (+ (-> obj node-list length) -1))))
|
||||
(sp-launch-particles-var
|
||||
@@ -195,18 +188,21 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(the-as float 0)
|
||||
(the-as object 0)
|
||||
)
|
||||
|
||||
;; definition for method 39 of type muse
|
||||
(defmethod common-post muse ((obj muse))
|
||||
(spool-push *art-control* (-> obj anim name) 0 obj -99.0)
|
||||
(dummy-51 obj)
|
||||
(let* ((a0-1 *art-control*)
|
||||
(t9-0 (method-of-object a0-1 spool-push))
|
||||
(a1-0 (-> obj anim name))
|
||||
)
|
||||
(t9-0 a0-1 a1-0 0 obj -99.0)
|
||||
(dummy-51 obj (the-as vector a1-0))
|
||||
)
|
||||
((method-of-type nav-enemy common-post) obj)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-5
|
||||
(new 'static 'skeleton-group
|
||||
@@ -225,22 +221,16 @@
|
||||
(set! *muse-sg* v1-5)
|
||||
)
|
||||
|
||||
;; definition for method 44 of type muse
|
||||
;; INFO: Return type mismatch none vs object.
|
||||
(defmethod dummy-44 muse ((obj muse) (arg0 process) (arg1 event-message-block))
|
||||
(the-as object (go muse-caught))
|
||||
)
|
||||
|
||||
;; definition for method 43 of type muse
|
||||
;; INFO: Return type mismatch none vs object.
|
||||
(defmethod dummy-43 muse ((obj muse) (arg0 process) (arg1 event-message-block))
|
||||
(the-as object (go muse-caught))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
nav-enemy-default-event-handler
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate muse-idle (muse)
|
||||
:event
|
||||
(the-as
|
||||
@@ -382,8 +372,13 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(spool-push *art-control* (-> self anim name) 0 self -99.0)
|
||||
(dummy-51 self)
|
||||
(let* ((a0-10 *art-control*)
|
||||
(t9-7 (method-of-object a0-10 spool-push))
|
||||
(a1-5 (-> self anim name))
|
||||
)
|
||||
(t9-7 a0-10 a1-5 0 self -99.0)
|
||||
(dummy-51 self (the-as vector a1-5))
|
||||
)
|
||||
(suspend)
|
||||
(let ((a0-12 (-> self skel root-channel 0)))
|
||||
(set!
|
||||
@@ -405,7 +400,6 @@ nav-enemy-default-event-handler
|
||||
(the-as (function none :behavior muse) ja-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-chase (muse)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -415,10 +409,7 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
@@ -571,7 +562,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-jump (muse)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -589,7 +579,6 @@ nav-enemy-default-event-handler
|
||||
(-> (method-of-type nav-enemy nav-enemy-jump) code)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate nav-enemy-jump-land (muse)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -661,7 +650,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate muse-caught (muse)
|
||||
:event
|
||||
(the-as
|
||||
@@ -742,9 +730,30 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
)
|
||||
(push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0)
|
||||
(push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0)
|
||||
(push-setting! *setting-control* self 'ambient-volume 'rel (-> *setting-control* current ambient-volume-movie) 0)
|
||||
(push-setting!
|
||||
*setting-control*
|
||||
self
|
||||
'music-volume
|
||||
'rel
|
||||
(-> *setting-control* current music-volume-movie)
|
||||
0
|
||||
)
|
||||
(push-setting!
|
||||
*setting-control*
|
||||
self
|
||||
'sfx-volume
|
||||
'rel
|
||||
(-> *setting-control* current sfx-volume-movie)
|
||||
0
|
||||
)
|
||||
(push-setting!
|
||||
*setting-control*
|
||||
self
|
||||
'ambient-volume
|
||||
'rel
|
||||
(-> *setting-control* current ambient-volume-movie)
|
||||
0
|
||||
)
|
||||
(logclear! (-> self mask) (process-mask enemy))
|
||||
(let ((gp-2 (get-process *default-dead-pool* othercam #x4000)))
|
||||
(when gp-2
|
||||
@@ -838,7 +847,8 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
:post
|
||||
(behavior ()
|
||||
(dummy-51 self)
|
||||
(local-vars (a1-0 none))
|
||||
(dummy-51 self (the-as vector a1-0))
|
||||
(level-hint-surpress!)
|
||||
(kill-current-level-hint '() '() 'exit)
|
||||
(ja-post)
|
||||
@@ -846,7 +856,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *muse-nav-enemy-info*, type nav-enemy-info
|
||||
(define
|
||||
*muse-nav-enemy-info*
|
||||
(new 'static 'nav-enemy-info
|
||||
@@ -865,11 +874,11 @@ nav-enemy-default-event-handler
|
||||
:run-travel-speed (meters 10.0)
|
||||
:run-rotate-speed (degrees 999.99994)
|
||||
:run-acceleration (meters 5.0)
|
||||
:run-turn-time #x2d
|
||||
:run-turn-time (seconds 0.15)
|
||||
:walk-travel-speed (meters 10.0)
|
||||
:walk-rotate-speed (degrees 999.99994)
|
||||
:walk-acceleration (meters 1.0)
|
||||
:walk-turn-time #x2d
|
||||
:walk-turn-time (seconds 0.15)
|
||||
:attack-shove-back (meters 3.0)
|
||||
:attack-shove-up (meters 2.0)
|
||||
:shadow-size (meters 2.0)
|
||||
@@ -903,8 +912,6 @@ nav-enemy-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type muse
|
||||
;; Used lq/sq
|
||||
(defmethod copy-defaults! muse ((obj muse) (arg0 res-lump))
|
||||
(stack-size-set! (-> obj main-thread) 512)
|
||||
(set! (-> obj mask) (logior (process-mask enemy) (-> obj mask)))
|
||||
@@ -977,3 +984,7 @@ nav-enemy-default-event-handler
|
||||
(go muse-idle)
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
(define-extern *evilsis-sg* skeleton-group)
|
||||
(define-extern *sidekick-human-sg* skeleton-group)
|
||||
|
||||
;; definition of type sequenceA
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype sequenceA (process-hidden)
|
||||
()
|
||||
:method-count-assert 15
|
||||
@@ -19,7 +20,7 @@
|
||||
:flag-assert #xf00000070
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(set!
|
||||
(-> *part-group-id-table* 657)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -43,7 +44,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2665)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -66,7 +66,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2663)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -96,7 +95,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2664)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -122,7 +120,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2667)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -144,7 +141,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2666)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -175,7 +171,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2668)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -189,7 +184,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2669)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -201,7 +195,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-group-id-table* 557)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -474,7 +467,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2349)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -502,7 +494,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2353)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -514,7 +505,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2350)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -545,7 +535,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2351)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -576,7 +565,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2352)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -607,7 +595,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2344)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -641,7 +628,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2354)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -653,7 +639,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2345)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -688,7 +673,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2355)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -701,7 +685,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2346)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -736,7 +719,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2347)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -760,7 +742,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2348)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -787,7 +768,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-group-id-table* 558)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -882,7 +862,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2386)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -903,7 +882,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2385)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -938,7 +916,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2388)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -952,7 +929,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2389)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -967,7 +943,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2384)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -994,7 +969,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-group-id-table* 560)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -1009,7 +983,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2298)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -1037,7 +1010,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-group-id-table* 561)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -1122,7 +1094,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2830)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -1148,7 +1119,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2786)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -1180,7 +1150,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2789)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -1192,7 +1161,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2788)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -1216,7 +1184,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2785)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -1238,7 +1205,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2787)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -1271,7 +1237,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-group-id-table* 562)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -1323,7 +1288,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-group-id-table* 681)
|
||||
(new 'static 'sparticle-launch-group
|
||||
@@ -1338,7 +1302,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2790)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -1372,7 +1335,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set!
|
||||
(-> *part-id-table* 2822)
|
||||
(new 'static 'sparticle-launcher
|
||||
@@ -1384,7 +1346,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type sequenceB
|
||||
(deftype sequenceB (process-taskable)
|
||||
((bonelurker handle :offset-assert 384)
|
||||
(evilbro handle :offset-assert 392)
|
||||
@@ -1397,19 +1358,7 @@
|
||||
:flag-assert #x35017001e0
|
||||
)
|
||||
|
||||
;; definition for method 3 of type sequenceB
|
||||
(defmethod inspect sequenceB ((obj sequenceB))
|
||||
(let ((t9-0 (method-of-type process-taskable inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~T~Tbonelurker: ~D~%" (-> obj bonelurker))
|
||||
(format #t "~T~Tevilbro: ~D~%" (-> obj evilbro))
|
||||
(format #t "~T~Tevilsis: ~D~%" (-> obj evilsis))
|
||||
(format #t "~T~Tlurker-army[9] @ #x~X~%" (-> obj lurker-army))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type sequenceC
|
||||
(deftype sequenceC (process-taskable)
|
||||
((bonelurker handle :offset-assert 384)
|
||||
(darkecocan handle :offset-assert 392)
|
||||
@@ -1421,22 +1370,7 @@
|
||||
:flag-assert #x35015001b1
|
||||
)
|
||||
|
||||
;; definition for method 3 of type sequenceC
|
||||
(defmethod inspect sequenceC ((obj sequenceC))
|
||||
(let ((t9-0 (method-of-type process-taskable inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~T~Tbonelurker: ~D~%" (-> obj bonelurker))
|
||||
(format #t "~T~Tdarkecocan: ~D~%" (-> obj darkecocan))
|
||||
(format
|
||||
#t
|
||||
"~T~Tdarkecocan-glowing-look: #<lod-set @ #x~X>~%"
|
||||
(-> obj darkecocan-glowing-look)
|
||||
)
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-46
|
||||
(new 'static 'skeleton-group
|
||||
@@ -1454,7 +1388,6 @@
|
||||
(set! *sidekick-human-sg* v1-46)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-47
|
||||
(new 'static 'skeleton-group
|
||||
@@ -1471,7 +1404,6 @@
|
||||
(set! *darkecocan-sg* v1-47)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-48
|
||||
(new 'static 'skeleton-group
|
||||
@@ -1488,7 +1420,6 @@
|
||||
(set! *darkecocan-glow-sg* v1-48)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-49
|
||||
(new 'static 'skeleton-group
|
||||
@@ -1505,7 +1436,6 @@
|
||||
(set! *evilbro-sg* v1-49)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let
|
||||
((v1-50
|
||||
(new 'static 'skeleton-group
|
||||
@@ -1522,7 +1452,6 @@
|
||||
(set! *evilsis-sg* v1-50)
|
||||
)
|
||||
|
||||
;; definition of type army-info
|
||||
(deftype army-info (structure)
|
||||
((pos vector :offset-assert 0)
|
||||
(rot float :offset-assert 4)
|
||||
@@ -1534,17 +1463,7 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type army-info
|
||||
(defmethod inspect army-info ((obj army-info))
|
||||
(format #t "[~8x] ~A~%" obj 'army-info)
|
||||
(format #t "~Tpos: #<vector @ #x~X>~%" (-> obj pos))
|
||||
(format #t "~Trot: ~f~%" (-> obj rot))
|
||||
(format #t "~Tstart-frame: ~f~%" (-> obj start-frame))
|
||||
(format #t "~Tskel: ~A~%" (-> obj skel))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *lurker-army*, type (array army-info)
|
||||
(define
|
||||
*lurker-army*
|
||||
(the-as (array army-info)
|
||||
@@ -1617,15 +1536,11 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function evilsib-trans-hook-hover
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior evilsib-trans-hook-hover evilbro ()
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function evilsib-trans-hook-wait
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior evilsib-trans-hook-wait evilbro ()
|
||||
(when (>= (ja-aframe-num 0) 425.0)
|
||||
(let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000)))
|
||||
@@ -1663,7 +1578,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 32 of type sequenceB
|
||||
(defmethod play-anim! sequenceB ((obj sequenceB) (arg0 symbol))
|
||||
(with-pp
|
||||
(cond
|
||||
@@ -1695,7 +1609,7 @@
|
||||
(run-now-in-process
|
||||
s5-0
|
||||
manipy-init
|
||||
(-> obj root trans)
|
||||
(-> obj root-override trans)
|
||||
(-> obj entity)
|
||||
*bonelurker-sg*
|
||||
#f
|
||||
@@ -2269,12 +2183,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 31 of type sequenceB
|
||||
(defmethod get-art-elem sequenceB ((obj sequenceB))
|
||||
(-> obj draw art-group data 3)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate play-anim (sequenceB)
|
||||
:virtual #t
|
||||
:event
|
||||
@@ -2321,7 +2233,11 @@
|
||||
(run-now-in-process
|
||||
s5-0
|
||||
manipy-init
|
||||
(-> self root trans)
|
||||
(->
|
||||
self
|
||||
root-override
|
||||
trans
|
||||
)
|
||||
gp-2
|
||||
*evilbro-sg*
|
||||
#f
|
||||
@@ -2423,7 +2339,11 @@
|
||||
(run-now-in-process
|
||||
s5-1
|
||||
manipy-init
|
||||
(-> self root trans)
|
||||
(->
|
||||
self
|
||||
root-override
|
||||
trans
|
||||
)
|
||||
gp-4
|
||||
*evilsis-sg*
|
||||
#f
|
||||
@@ -2572,12 +2492,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 39 of type sequenceB
|
||||
(defmethod should-display? sequenceB ((obj sequenceB))
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for method 11 of type sequenceB
|
||||
(defmethod copy-defaults! sequenceB ((obj sequenceB) (arg0 res-lump))
|
||||
(dummy-40
|
||||
obj
|
||||
@@ -2599,8 +2517,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sequenceC-can-trans-hook-2
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior sequenceC-can-trans-hook-2 sequenceC ()
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(vector<-cspace! gp-0 (-> self node-list data 4))
|
||||
@@ -2642,13 +2558,14 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sequenceC-can-trans-hook
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior sequenceC-can-trans-hook sequenceC ()
|
||||
(when (>= (ja-aframe-num 0) 1055.0)
|
||||
(dummy-11
|
||||
(-> self draw)
|
||||
(&-> (the-as process-taskable (-> self parent 0)) stack 288)
|
||||
(the-as
|
||||
lod-set
|
||||
(&-> (the-as process-taskable (-> self parent 0)) stack 288)
|
||||
)
|
||||
)
|
||||
(let ((a1-1 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-1 from) self)
|
||||
@@ -2663,8 +2580,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 32 of type sequenceC
|
||||
;; INFO: Return type mismatch spool-anim vs basic.
|
||||
(defmethod play-anim! sequenceC ((obj sequenceC) (arg0 symbol))
|
||||
(with-pp
|
||||
(when arg0
|
||||
@@ -2712,7 +2627,7 @@
|
||||
(run-now-in-process
|
||||
s5-0
|
||||
manipy-init
|
||||
(-> obj root trans)
|
||||
(-> obj root-override trans)
|
||||
(-> obj entity)
|
||||
*bonelurker-sg*
|
||||
#f
|
||||
@@ -2756,7 +2671,7 @@
|
||||
(run-now-in-process
|
||||
s5-1
|
||||
manipy-init
|
||||
(-> obj root trans)
|
||||
(-> obj root-override trans)
|
||||
(-> obj entity)
|
||||
*darkecocan-sg*
|
||||
#f
|
||||
@@ -3031,12 +2946,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 31 of type sequenceC
|
||||
(defmethod get-art-elem sequenceC ((obj sequenceC))
|
||||
(-> obj draw art-group data 3)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate play-anim (sequenceC)
|
||||
:virtual #t
|
||||
:exit
|
||||
@@ -3069,13 +2982,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 39 of type sequenceC
|
||||
(defmethod should-display? sequenceC ((obj sequenceC))
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function sequenceC-trans-hook
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior sequenceC-trans-hook sequenceC ()
|
||||
(when (>= (ja-aframe-num 0) 1655.0)
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -3110,7 +3020,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type sequenceC
|
||||
(defmethod copy-defaults! sequenceC ((obj sequenceC) (arg0 res-lump))
|
||||
(dummy-40
|
||||
obj
|
||||
|
||||
@@ -85,11 +85,11 @@
|
||||
:run-travel-speed (meters 6.0)
|
||||
:run-rotate-speed (degrees 2880.0)
|
||||
:run-acceleration (meters 1.0)
|
||||
:run-turn-time #x1e
|
||||
:run-turn-time (seconds 0.1)
|
||||
:walk-travel-speed (meters 3.0)
|
||||
:walk-rotate-speed (degrees 720.0)
|
||||
:walk-acceleration (meters 1.0)
|
||||
:walk-turn-time #x96
|
||||
:walk-turn-time (seconds 0.5)
|
||||
:attack-shove-back (meters 3.0)
|
||||
:attack-shove-up (meters 2.0)
|
||||
:shadow-size (meters 2.0)
|
||||
@@ -275,10 +275,7 @@
|
||||
:enter
|
||||
(behavior ()
|
||||
(nav-enemy-neck-control-inactive)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(if (-> self nav-info move-to-ground)
|
||||
(dummy-60 (-> self collide-info) 40960.0 40960.0 #t (the-as uint 1))
|
||||
)
|
||||
@@ -1380,17 +1377,14 @@
|
||||
)
|
||||
(when (< v1-1 (-> self desired-num-children))
|
||||
(set! (-> self spawn-delay) (rand-vu-int-range 150 1200))
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(-> self spawn-delay)
|
||||
)
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector))
|
||||
|
||||
@@ -765,10 +765,7 @@
|
||||
)
|
||||
(go qbert-plat-master-idle)
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(cond
|
||||
(arg0
|
||||
(ambient-hint-spawn "gamcam08" (the-as vector #f) *entity-pool* 'camera)
|
||||
@@ -795,11 +792,7 @@
|
||||
(-> s5-0 ppointer)
|
||||
)
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
420
|
||||
)
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 420)
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
@@ -828,11 +821,7 @@
|
||||
(-> s5-1 ppointer)
|
||||
)
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
300
|
||||
)
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -709,10 +709,7 @@
|
||||
(defstate square-platform-master-activate (square-platform-master)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self wiggled?) #f)
|
||||
(sleep (-> self ticker) (-> self timeout))
|
||||
(set! (-> self plat-id) -1)
|
||||
|
||||
@@ -107,10 +107,7 @@
|
||||
:code
|
||||
(behavior ()
|
||||
(dummy-49 (-> self root-override))
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(while #t
|
||||
(set!
|
||||
(-> self extended-amount)
|
||||
@@ -197,10 +194,7 @@
|
||||
(the-as (function none :behavior wall-plat) rider-trans)
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(while #t
|
||||
(set!
|
||||
(-> self extended-amount)
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
(define-extern wedge-plat-master-idle (state wedge-plat-master)) ;; unknown type
|
||||
(define-extern *wedge-plat-outer-sg* skeleton-group)
|
||||
|
||||
;; definition of type wedge-plat-master
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype wedge-plat-master (process)
|
||||
((center vector :inline :offset-assert 112)
|
||||
(rotspeed float :offset-assert 128)
|
||||
@@ -30,7 +31,7 @@
|
||||
:flag-assert #xe0020008c
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(defstate wedge-plat-master-idle (wedge-plat-master)
|
||||
:code
|
||||
(behavior ()
|
||||
@@ -79,8 +80,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type wedge-plat-master
|
||||
;; Used lq/sq
|
||||
(defmethod
|
||||
copy-defaults!
|
||||
wedge-plat-master
|
||||
@@ -96,7 +95,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type wedge-plat
|
||||
(deftype wedge-plat (baseplat)
|
||||
((master wedge-plat-master :offset-assert 228)
|
||||
(distance float :offset-assert 232)
|
||||
@@ -111,7 +109,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(let
|
||||
((v1-3
|
||||
(new 'static 'skeleton-group
|
||||
@@ -128,7 +126,6 @@
|
||||
(set! *wedge-plat-sg* v1-3)
|
||||
)
|
||||
|
||||
;; definition for method 27 of type wedge-plat
|
||||
(defmethod dummy-27 wedge-plat ((obj wedge-plat))
|
||||
(let* ((a0-1 (-> obj master))
|
||||
(v1-0 (if a0-1
|
||||
@@ -177,7 +174,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate wedge-plat-idle (wedge-plat)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -208,7 +204,6 @@
|
||||
(the-as (function none :behavior wedge-plat) plat-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate wedge-plat-tip (wedge-plat)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -289,15 +284,8 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
300
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
|
||||
(let ((gp-4 (-> self skel root-channel 0)))
|
||||
(set! (-> gp-4 num-func) num-func-identity)
|
||||
(set! (-> gp-4 frame-num) (ja-aframe 100.0 0))
|
||||
@@ -339,7 +327,6 @@
|
||||
(the-as (function none :behavior wedge-plat) plat-post)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type wedge-plat
|
||||
(defmethod copy-defaults! wedge-plat ((obj wedge-plat) (arg0 res-lump))
|
||||
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
|
||||
(let
|
||||
@@ -390,7 +377,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type wedge-plat-outer
|
||||
(deftype wedge-plat-outer (wedge-plat)
|
||||
()
|
||||
:heap-base #x80
|
||||
@@ -399,7 +385,7 @@
|
||||
:flag-assert #x1c008000f0
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
(let
|
||||
((v1-7
|
||||
(new 'static 'skeleton-group
|
||||
@@ -416,7 +402,6 @@
|
||||
(set! *wedge-plat-outer-sg* v1-7)
|
||||
)
|
||||
|
||||
;; definition for method 27 of type wedge-plat-outer
|
||||
(defmethod dummy-27 wedge-plat-outer ((obj wedge-plat-outer))
|
||||
(let* ((a0-1 (-> obj master))
|
||||
(v1-0 (if a0-1
|
||||
@@ -465,7 +450,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate wedge-plat-outer-idle (wedge-plat-outer)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -496,7 +480,6 @@
|
||||
(the-as (function none :behavior wedge-plat-outer) plat-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate wedge-plat-outer-tip (wedge-plat-outer)
|
||||
:event
|
||||
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
@@ -576,15 +559,8 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
300
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
|
||||
(let ((gp-4 (-> self skel root-channel 0)))
|
||||
(set! (-> gp-4 num-func) num-func-identity)
|
||||
(set! (-> gp-4 frame-num) (ja-aframe 100.0 0))
|
||||
@@ -626,7 +602,6 @@
|
||||
(the-as (function none :behavior wedge-plat-outer) plat-post)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type wedge-plat-outer
|
||||
(defmethod
|
||||
copy-defaults!
|
||||
wedge-plat-outer
|
||||
@@ -679,3 +654,7 @@
|
||||
(go wedge-plat-outer-idle)
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -282,10 +282,7 @@ swamp-bat-slave-event-handler
|
||||
swamp-bat-slave-event-handler
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self launch-ready) #f)
|
||||
(ja-channel-push! 1 49)
|
||||
(let ((v1-4 (-> self skel root-channel 0)))
|
||||
@@ -331,13 +328,7 @@ swamp-bat-slave-event-handler
|
||||
(forward-up->quaternion gp-0 s2-0 (new 'static 'vector :y 1.0 :w 1.0))
|
||||
(while #t
|
||||
(let
|
||||
((v1-17
|
||||
(-
|
||||
(-> *display* base-frame-counter)
|
||||
(the-as int (-> self state-time))
|
||||
)
|
||||
)
|
||||
)
|
||||
((v1-17 (- (-> *display* base-frame-counter) (-> self state-time))))
|
||||
(when (>= v1-17 s3-0)
|
||||
0
|
||||
(goto cfg-10)
|
||||
@@ -426,10 +417,7 @@ swamp-bat-slave-event-handler
|
||||
swamp-bat-slave-event-handler
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self launch-ready) #f)
|
||||
(ja-channel-push! 1 30)
|
||||
(let ((gp-0 (new-stack-vector0)))
|
||||
@@ -448,11 +436,7 @@ swamp-bat-slave-event-handler
|
||||
)
|
||||
)
|
||||
(while #t
|
||||
(let
|
||||
((s4-0
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
)
|
||||
)
|
||||
(let ((s4-0 (- (-> *display* base-frame-counter) (-> self state-time))))
|
||||
(if (>= s4-0 90)
|
||||
(go swamp-bat-slave-swoop)
|
||||
)
|
||||
@@ -852,10 +836,7 @@ swamp-bat-slave-event-handler
|
||||
(while #t
|
||||
(when
|
||||
(and
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
60
|
||||
)
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 60)
|
||||
*target*
|
||||
(>=
|
||||
(-> self fact-override idle-distance)
|
||||
@@ -915,21 +896,11 @@ swamp-bat-slave-event-handler
|
||||
swamp-bat-debug
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(while #t
|
||||
(swamp-bat-update-path)
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
150
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(if (not (swamp-bat-launch-slave))
|
||||
(go swamp-bat-idle)
|
||||
)
|
||||
|
||||
@@ -971,10 +971,7 @@
|
||||
swamp-rat-nest-dummy-event-handler
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(if (<= (-> self parent-process 0 hit-points) 0)
|
||||
(go swamp-rat-nest-dummy-die)
|
||||
)
|
||||
@@ -1118,10 +1115,7 @@
|
||||
)
|
||||
:code
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set!
|
||||
(-> self parent-process 0 dummy)
|
||||
(the-as (pointer swamp-rat-nest-dummy) #f)
|
||||
@@ -1158,11 +1152,7 @@
|
||||
(-> gp-0 ppointer)
|
||||
)
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
30
|
||||
)
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
|
||||
(suspend)
|
||||
)
|
||||
(ja-channel-set! 0)
|
||||
@@ -1276,7 +1266,9 @@ swamp-rat-nest-default-event-handler
|
||||
)
|
||||
)
|
||||
|
||||
;; WARN: Function may read a register that is not set: t2
|
||||
(defbehavior swamp-rat-nest-spawn-rat swamp-rat-nest ()
|
||||
(local-vars (t2-0 none))
|
||||
(when (and (-> self dummy) (> (-> self dummy 0 spawn-joint-count) 0))
|
||||
(let* ((v1-5 (swamp-rat-nest-pick-spawn-joint))
|
||||
(v1-8 (-> self dummy 0 node-list data v1-5 bone))
|
||||
@@ -1307,7 +1299,7 @@ swamp-rat-nest-default-event-handler
|
||||
(the-as pointer #x70004000)
|
||||
)
|
||||
)
|
||||
(run-now-in-process s3-0 swamp-rat-init-by-other self gp-0 s5-0 s4-0)
|
||||
(run-now-in-process s3-0 swamp-rat-init-by-other self gp-0 s5-0 s4-0 t2-0)
|
||||
(-> s3-0 ppointer)
|
||||
)
|
||||
)
|
||||
@@ -1459,10 +1451,7 @@ swamp-rat-nest-default-event-handler
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
@@ -1496,10 +1485,7 @@ swamp-rat-nest-default-event-handler
|
||||
swamp-rat-nest-default-event-handler
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
@@ -1507,13 +1493,10 @@ swamp-rat-nest-default-event-handler
|
||||
(swamp-rat-nest-check-dummy)
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(the-as int (-> self test-interval))
|
||||
)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(set! (-> self test-interval) (the-as uint 60))
|
||||
(let ((v1-6 0))
|
||||
(let ((a0-2 (the-as (pointer process-tree) (-> self child-process))))
|
||||
@@ -1547,10 +1530,7 @@ swamp-rat-nest-default-event-handler
|
||||
swamp-rat-nest-default-event-handler
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
@@ -1558,7 +1538,7 @@ swamp-rat-nest-default-event-handler
|
||||
(swamp-rat-nest-check-dummy)
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(the int (* (-> self spawn-period-scale) (-> self spawn-period)))
|
||||
)
|
||||
(let ((a1-0 (new 'stack-no-clear 'event-message-block)))
|
||||
|
||||
@@ -344,7 +344,7 @@ swamp-rat-default-event-handler
|
||||
(behavior ()
|
||||
(if
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(the-as int (-> self chase-rest-time))
|
||||
)
|
||||
(go-virtual nav-enemy-victory)
|
||||
@@ -676,10 +676,7 @@ swamp-rat-default-event-handler
|
||||
(set! (-> gp-0 z) 0.0)
|
||||
(set! (-> gp-0 w) 1.0)
|
||||
(let ((f30-0 0.125))
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(let ((s5-0 (-> self skel root-channel 0)))
|
||||
(joint-control-channel-group-eval!
|
||||
s5-0
|
||||
@@ -705,13 +702,7 @@ swamp-rat-default-event-handler
|
||||
(logtest? (-> self collide-info status) 4)
|
||||
(or
|
||||
(< (-> self collide-info trans y) (-> self min-height))
|
||||
(>=
|
||||
(-
|
||||
(-> *display* base-frame-counter)
|
||||
(the-as int (-> self state-time))
|
||||
)
|
||||
300
|
||||
)
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
|
||||
)
|
||||
)
|
||||
0
|
||||
@@ -806,11 +797,11 @@ swamp-rat-default-event-handler
|
||||
:run-travel-speed (meters 7.0)
|
||||
:run-rotate-speed (degrees 7999.9995)
|
||||
:run-acceleration (meters 1.0)
|
||||
:run-turn-time #x16
|
||||
:run-turn-time (seconds 0.07333333)
|
||||
:walk-travel-speed (meters 2.0)
|
||||
:walk-rotate-speed (degrees 7999.9995)
|
||||
:walk-acceleration (meters 1.0)
|
||||
:walk-turn-time #x16
|
||||
:walk-turn-time (seconds 0.07333333)
|
||||
:attack-shove-back (meters 3.0)
|
||||
:attack-shove-up (meters 2.0)
|
||||
:shadow-size (meters 1.0)
|
||||
|
||||
@@ -82,9 +82,9 @@
|
||||
(defmethod play-anim! assistant ((obj assistant) (arg0 symbol))
|
||||
(with-pp
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(case (current-task (-> obj tasks))
|
||||
((2)
|
||||
(((game-task jungle-eggtop))
|
||||
(when arg0
|
||||
(let* ((s5-1 (-> obj tasks))
|
||||
(s4-0 (method-of-object s5-1 save-reminder))
|
||||
@@ -247,10 +247,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5 4)
|
||||
(((task-status need-reminder) (task-status need-reminder-a))
|
||||
(set! (-> obj skippable) #t)
|
||||
(cond
|
||||
((zero? (current-task (-> obj tasks)))
|
||||
((= (current-task (-> obj tasks)) (game-task none))
|
||||
(new 'static 'spool-anim
|
||||
:name "assistant-reminder-1-generic"
|
||||
:index 14
|
||||
@@ -321,9 +321,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 3)
|
||||
@@ -358,19 +356,44 @@
|
||||
#f
|
||||
)
|
||||
((< 0.8 f0-2)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP01" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"ASSTLP01"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
((< 0.6 f0-2)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP04" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"ASSTLP04"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
((< 0.4 f0-2)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP05" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"ASSTLP05"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
((< 0.2 f0-2)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP02" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"ASSTLP02"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(dummy-11 (-> obj ambient) "ASSTLP03" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"ASSTLP03"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
(with-pp
|
||||
(set! (-> obj talk-message) (the-as uint 260))
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(if arg0
|
||||
(close-status! (-> obj tasks) (task-status need-introduction))
|
||||
)
|
||||
@@ -114,7 +114,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(cond
|
||||
((zero? (get-reminder (-> obj tasks) 0))
|
||||
@@ -170,13 +170,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(cond
|
||||
(arg0
|
||||
(set!
|
||||
(-> obj cell-for-task)
|
||||
(the-as game-task (current-task (-> obj tasks)))
|
||||
)
|
||||
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
|
||||
(close-current! (-> obj tasks))
|
||||
(let ((a1-7 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-7 from) pp)
|
||||
@@ -211,9 +208,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 3)
|
||||
@@ -241,7 +236,7 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.85714287 f0-2)
|
||||
(dummy-11 (-> obj ambient) "EXP-AM05" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "EXP-AM05" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.71428573 f0-2)
|
||||
(if
|
||||
@@ -252,17 +247,22 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "EXP-LO02" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"EXP-LO02"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.5714286 f0-2)
|
||||
(dummy-11 (-> obj ambient) "EXP-AM04" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "EXP-AM04" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.42857143 f0-2)
|
||||
(dummy-11 (-> obj ambient) "EXP-AM03" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "EXP-AM03" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.2857143 f0-2)
|
||||
(dummy-11 (-> obj ambient) "EXP-AM02" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "EXP-AM02" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.14285715 f0-2)
|
||||
(if
|
||||
@@ -273,11 +273,16 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "EXP-AM01" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"EXP-AM01"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(dummy-11 (-> obj ambient) "EXP-LO1A" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "EXP-LO1A" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
(defmethod play-anim! farmer ((obj farmer) (arg0 symbol))
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(if arg0
|
||||
(close-status! (-> obj tasks) (task-status need-introduction))
|
||||
)
|
||||
@@ -51,7 +51,7 @@
|
||||
:command-list '()
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(cond
|
||||
((zero? (get-reminder (-> obj tasks) 0))
|
||||
@@ -78,12 +78,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(when arg0
|
||||
(set!
|
||||
(-> obj cell-for-task)
|
||||
(the-as game-task (current-task (-> obj tasks)))
|
||||
)
|
||||
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
|
||||
(close-current! (-> obj tasks))
|
||||
)
|
||||
(new 'static 'spool-anim
|
||||
@@ -99,7 +96,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string (the-as task-status (current-status (-> obj tasks))))
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 4)
|
||||
@@ -108,9 +105,15 @@
|
||||
)
|
||||
|
||||
(defmethod get-art-elem farmer ((obj farmer))
|
||||
(let ((v1-1 (current-status (-> obj tasks))))
|
||||
(if (or (= v1-1 2) (= v1-1 3) (= v1-1 7) (zero? v1-1))
|
||||
(-> obj draw art-group data 4)
|
||||
(case (current-status (-> obj tasks))
|
||||
(((task-status need-hint)
|
||||
(task-status need-introduction)
|
||||
(task-status need-resolution)
|
||||
(task-status invalid)
|
||||
)
|
||||
(-> obj draw art-group data 4)
|
||||
)
|
||||
(else
|
||||
(-> obj draw art-group data 5)
|
||||
)
|
||||
)
|
||||
@@ -131,19 +134,19 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.8333333 f0-2)
|
||||
(dummy-11 (-> obj ambient) "FAR-LO1A" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "FAR-LO1A" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.6666667 f0-2)
|
||||
(dummy-11 (-> obj ambient) "FAR-AM01" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "FAR-AM01" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.5 f0-2)
|
||||
#f
|
||||
)
|
||||
((< 0.33333334 f0-2)
|
||||
(dummy-11 (-> obj ambient) "FAR-AM2A" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "FAR-AM2A" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.16666667 f0-2)
|
||||
(dummy-11 (-> obj ambient) "FAR-AM02" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "FAR-AM02" #f (-> obj root-override trans))
|
||||
)
|
||||
(else
|
||||
#f
|
||||
|
||||
@@ -1093,10 +1093,7 @@
|
||||
)
|
||||
)
|
||||
(not (level-hint-displayed?))
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
900
|
||||
)
|
||||
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 900)
|
||||
(file-status *art-control* (-> self anim name) 0)
|
||||
)
|
||||
(hide-hud)
|
||||
@@ -1194,10 +1191,7 @@
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
@@ -1433,10 +1427,7 @@
|
||||
)
|
||||
:enter
|
||||
(behavior ()
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(none)
|
||||
)
|
||||
:trans
|
||||
@@ -1863,15 +1854,8 @@
|
||||
(let ((f30-0 (* (the float s5-0) (-> self controller table-step))))
|
||||
(set! (-> self measure-parameters) #t)
|
||||
(set! (-> self controller steering) 1.0)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(until
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
300
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
|
||||
(let
|
||||
((f0-6
|
||||
(/
|
||||
@@ -1881,10 +1865,7 @@
|
||||
)
|
||||
)
|
||||
(if (< 0.05 f0-6)
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
)
|
||||
)
|
||||
(fishermans-boat-set-throttle-by-speed f30-0)
|
||||
|
||||
@@ -90,9 +90,9 @@
|
||||
)
|
||||
)
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(case (current-task (-> obj tasks))
|
||||
((109)
|
||||
(((game-task intro))
|
||||
(when arg0
|
||||
(close-status! (-> obj tasks) (task-status need-introduction))
|
||||
(set-setting! *setting-control* pp 'music-volume-movie 'abs 0.0 0)
|
||||
@@ -303,7 +303,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((15)
|
||||
(((game-task beach-ecorocks))
|
||||
(when arg0
|
||||
(let* ((s5-1 (-> obj tasks))
|
||||
(s4-0 (method-of-object s5-1 save-reminder))
|
||||
@@ -506,7 +506,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(if arg0
|
||||
(set! (-> obj reminder-played) #t)
|
||||
@@ -621,7 +621,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(when arg0
|
||||
(set-setting! *setting-control* pp 'music-volume-movie 'abs 0.0 0)
|
||||
(copy-settings-from-target! *setting-control*)
|
||||
@@ -981,9 +981,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(get-art-elem obj)
|
||||
@@ -1032,19 +1030,19 @@
|
||||
(defmethod get-art-elem sage ((obj sage))
|
||||
(cond
|
||||
((and
|
||||
(= (current-task (-> obj tasks)) 15)
|
||||
(= (current-task (-> obj tasks)) (game-task beach-ecorocks))
|
||||
(or
|
||||
(= (current-status (-> obj tasks)) 2)
|
||||
(= (current-status (-> obj tasks)) 3)
|
||||
(= (current-status (-> obj tasks)) (task-status need-hint))
|
||||
(= (current-status (-> obj tasks)) (task-status need-introduction))
|
||||
)
|
||||
)
|
||||
(save-reminder (-> obj tasks) 0 0)
|
||||
)
|
||||
((and
|
||||
(= (current-task (-> obj tasks)) 26)
|
||||
(= (current-task (-> obj tasks)) (game-task misty-cannon))
|
||||
(or
|
||||
(= (current-status (-> obj tasks)) 2)
|
||||
(= (current-status (-> obj tasks)) 3)
|
||||
(= (current-status (-> obj tasks)) (task-status need-hint))
|
||||
(= (current-status (-> obj tasks)) (task-status need-introduction))
|
||||
)
|
||||
)
|
||||
(save-reminder (-> obj tasks) 1 0)
|
||||
@@ -1052,7 +1050,7 @@
|
||||
((dummy-45 obj)
|
||||
(set! (-> obj reminder-played) #f)
|
||||
(cond
|
||||
((zero? (current-task (-> obj tasks)))
|
||||
((= (current-task (-> obj tasks)) (game-task none))
|
||||
(case (get-reminder (-> obj tasks) 0)
|
||||
((2)
|
||||
(save-reminder (-> obj tasks) 3 0)
|
||||
@@ -1132,19 +1130,44 @@
|
||||
#f
|
||||
)
|
||||
((< 0.8 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP03" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"SAGELP03"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
((< 0.6 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP04" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"SAGELP04"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
((< 0.4 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP05" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"SAGELP05"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
((< 0.2 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP06" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"SAGELP06"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(dummy-11 (-> obj ambient) "SAGELP11" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"SAGELP11"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -706,7 +706,7 @@ yakow-default-event-handler
|
||||
(if
|
||||
(and
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(the-as int (-> *YAKOW-bank* default-patrol-time))
|
||||
)
|
||||
(and
|
||||
@@ -871,7 +871,7 @@ yakow-default-event-handler
|
||||
(if
|
||||
(and
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
(- (-> *display* base-frame-counter) (-> self state-time))
|
||||
(the-as int (-> *YAKOW-bank* default-patrol-time))
|
||||
)
|
||||
(not (-> self in-pen))
|
||||
@@ -889,11 +889,7 @@ yakow-default-event-handler
|
||||
)
|
||||
(go yakow-notice)
|
||||
)
|
||||
(when
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
15
|
||||
)
|
||||
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15)
|
||||
(when
|
||||
(or
|
||||
(logtest? (nav-control-flags bit19) (-> self nav flags))
|
||||
@@ -1255,11 +1251,7 @@ yakow-default-event-handler
|
||||
)
|
||||
:trans
|
||||
(behavior ()
|
||||
(if
|
||||
(>=
|
||||
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
|
||||
60
|
||||
)
|
||||
(if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60)
|
||||
(set!
|
||||
(-> self travel-speed)
|
||||
(seek
|
||||
|
||||
@@ -130,12 +130,15 @@
|
||||
(with-pp
|
||||
(set! (-> obj talk-message) (the-as uint 292))
|
||||
(case (current-status (-> obj tasks))
|
||||
((1 2 3)
|
||||
(((task-status unknown)
|
||||
(task-status need-hint)
|
||||
(task-status need-introduction)
|
||||
)
|
||||
(if (not arg0)
|
||||
(set! (-> obj will-talk) #t)
|
||||
)
|
||||
(case (current-task (-> obj tasks))
|
||||
((103)
|
||||
(((game-task village2-levitator))
|
||||
(when arg0
|
||||
(close-status! (-> obj tasks) (task-status need-introduction))
|
||||
(let ((a1-5 (new 'stack-no-clear 'event-message-block)))
|
||||
@@ -783,7 +786,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((47)
|
||||
(((game-task sunken-room))
|
||||
(when arg0
|
||||
(let* ((s5-2 (-> obj tasks))
|
||||
(s4-0 (method-of-object s5-2 save-reminder))
|
||||
@@ -899,7 +902,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((53)
|
||||
(((game-task rolling-robbers))
|
||||
(when arg0
|
||||
(let* ((s5-5 (-> obj tasks))
|
||||
(s4-1 (method-of-object s5-5 save-reminder))
|
||||
@@ -984,7 +987,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1)))
|
||||
(if (< (the-as uint 2) (the-as uint s4-2))
|
||||
@@ -1061,9 +1064,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 5)
|
||||
@@ -1176,10 +1177,10 @@
|
||||
#f
|
||||
)
|
||||
((< 0.5 f30-0)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP23" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "ASSTLP23" #f (-> obj root-override trans))
|
||||
)
|
||||
(else
|
||||
(dummy-11 (-> obj ambient) "ASSTLP24" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "ASSTLP24" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -2521,7 +2522,7 @@
|
||||
((obj assistant-levitator) (arg0 symbol))
|
||||
(with-pp
|
||||
(case (current-status (-> obj tasks))
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(when arg0
|
||||
(close-current! (-> obj tasks))
|
||||
(let ((a1-1 (new 'stack-no-clear 'event-message-block)))
|
||||
@@ -2584,9 +2585,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 5)
|
||||
@@ -2653,10 +2652,7 @@
|
||||
#t
|
||||
)
|
||||
(else
|
||||
(set!
|
||||
(-> self state-time)
|
||||
(the-as seconds (-> *display* base-frame-counter))
|
||||
)
|
||||
(set! (-> self state-time) (-> *display* base-frame-counter))
|
||||
#f
|
||||
)
|
||||
)
|
||||
@@ -2681,13 +2677,7 @@
|
||||
(logtest? (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l3))
|
||||
)
|
||||
)
|
||||
(<
|
||||
(-
|
||||
(-> *display* base-frame-counter)
|
||||
(the-as int (-> self state-time))
|
||||
)
|
||||
3000
|
||||
)
|
||||
(< (- (-> *display* base-frame-counter) (-> self state-time)) 3000)
|
||||
)
|
||||
)
|
||||
(hide-hud)
|
||||
@@ -3103,25 +3093,8 @@
|
||||
:mask #x80
|
||||
:num 1.0
|
||||
:group #x1
|
||||
:sound-name-char
|
||||
(new 'static 'array uint8 16
|
||||
#x6c
|
||||
#x65
|
||||
#x76
|
||||
#x2d
|
||||
#x6d
|
||||
#x61
|
||||
#x63
|
||||
#x68
|
||||
#x2d
|
||||
#x69
|
||||
#x64
|
||||
#x6c
|
||||
#x65
|
||||
#x0
|
||||
#x0
|
||||
#x0
|
||||
)
|
||||
:sound-name
|
||||
(new 'static 'sound-name :lo #x6863616d2d76656c)
|
||||
:volume #x400
|
||||
:fo-max 30
|
||||
)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
(with-pp
|
||||
(set! (-> obj talk-message) (the-as uint 260))
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(when arg0
|
||||
(close-status! (-> obj tasks) (task-status need-introduction))
|
||||
(close-specific-task!
|
||||
@@ -131,7 +131,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(cond
|
||||
((closed?
|
||||
@@ -182,17 +182,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(if (not arg0)
|
||||
(set! (-> obj will-talk) #t)
|
||||
)
|
||||
(case (current-task (-> obj tasks))
|
||||
((52)
|
||||
(((game-task rolling-race))
|
||||
(when arg0
|
||||
(set!
|
||||
(-> obj cell-for-task)
|
||||
(the-as game-task (current-task (-> obj tasks)))
|
||||
)
|
||||
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
|
||||
(close-current! (-> obj tasks))
|
||||
)
|
||||
(new 'static 'spool-anim
|
||||
@@ -205,10 +202,7 @@
|
||||
(else
|
||||
(cond
|
||||
(arg0
|
||||
(set!
|
||||
(-> obj cell-for-task)
|
||||
(the-as game-task (current-task (-> obj tasks)))
|
||||
)
|
||||
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
|
||||
(close-current! (-> obj tasks))
|
||||
(let ((a1-10 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-10 from) pp)
|
||||
@@ -241,9 +235,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 7)
|
||||
@@ -271,45 +263,50 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.9230769 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM01" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM01" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.84615386 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM02" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM02" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.7692308 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM03" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM03" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.6923077 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM04" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM04" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.61538464 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM05" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM05" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.53846157 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM06" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM06" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.46153846 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM07" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM07" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.3846154 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM08" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM08" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.30769232 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM09" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM09" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.23076923 f0-2)
|
||||
(if (not (task-closed? (game-task ogre-boss) (task-status need-reminder)))
|
||||
(dummy-11 (-> obj ambient) "GAM-AM10" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"GAM-AM10"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.15384616 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM11" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM11" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.07692308 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GAM-AM12" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM12" #f (-> obj root-override trans))
|
||||
)
|
||||
(else
|
||||
(dummy-11 (-> obj ambient) "GAM-AM13" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GAM-AM13" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
(with-pp
|
||||
(set! (-> obj talk-message) (the-as uint 260))
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(when arg0
|
||||
(close-status! (-> obj tasks) (task-status need-introduction))
|
||||
(close-specific-task!
|
||||
@@ -95,7 +95,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(cond
|
||||
((closed?
|
||||
@@ -146,17 +146,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(if (not arg0)
|
||||
(set! (-> obj will-talk) #t)
|
||||
)
|
||||
(case (current-task (-> obj tasks))
|
||||
((54)
|
||||
(((game-task rolling-moles))
|
||||
(when arg0
|
||||
(set!
|
||||
(-> obj cell-for-task)
|
||||
(the-as game-task (current-task (-> obj tasks)))
|
||||
)
|
||||
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
|
||||
(close-current! (-> obj tasks))
|
||||
)
|
||||
(new 'static 'spool-anim
|
||||
@@ -169,10 +166,7 @@
|
||||
(else
|
||||
(cond
|
||||
(arg0
|
||||
(set!
|
||||
(-> obj cell-for-task)
|
||||
(the-as game-task (current-task (-> obj tasks)))
|
||||
)
|
||||
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
|
||||
(close-current! (-> obj tasks))
|
||||
(let ((a1-10 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-10 from) pp)
|
||||
@@ -205,9 +199,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 5)
|
||||
@@ -235,7 +227,7 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.8888889 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GEO-AM01" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GEO-AM01" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.7777778 f0-2)
|
||||
(if
|
||||
@@ -246,11 +238,16 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "GEO-AM02" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"GEO-AM02"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.6666667 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GEO-AM03" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GEO-AM03" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.5555556 f0-2)
|
||||
(if
|
||||
@@ -259,14 +256,19 @@
|
||||
(game-task village2-geologist-money)
|
||||
(task-status need-introduction)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "GEO-AM04" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"GEO-AM04"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.44444445 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GEO-AM05" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GEO-AM05" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.33333334 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GEO-AM06" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GEO-AM06" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.22222222 f0-2)
|
||||
(if
|
||||
@@ -277,21 +279,26 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "GEO-AM07" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"GEO-AM07"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.11111111 f0-2)
|
||||
(dummy-11 (-> obj ambient) "GEO-LO02" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GEO-LO02" #f (-> obj root-override trans))
|
||||
)
|
||||
((closed?
|
||||
(-> obj tasks)
|
||||
(game-task village2-geologist-money)
|
||||
(task-status need-resolution)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "GEO-AM08" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GEO-AM08" #f (-> obj root-override trans))
|
||||
)
|
||||
(else
|
||||
(dummy-11 (-> obj ambient) "GEO-LO01" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "GEO-LO01" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -54,12 +54,12 @@
|
||||
(with-pp
|
||||
(set! (-> obj talk-message) (the-as uint 291))
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(if (not arg0)
|
||||
(set! (-> obj will-talk) #t)
|
||||
)
|
||||
(case (current-task (-> obj tasks))
|
||||
((55)
|
||||
(((game-task rolling-plants))
|
||||
(when arg0
|
||||
(let* ((s5-1 (-> obj tasks))
|
||||
(s4-0 (method-of-object s5-1 save-reminder))
|
||||
@@ -161,7 +161,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(if arg0
|
||||
(set! (-> obj reminder-played) #t)
|
||||
@@ -205,9 +205,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(get-art-elem obj)
|
||||
@@ -218,9 +216,9 @@
|
||||
|
||||
(defmethod dummy-45 sage-bluehut ((obj sage-bluehut))
|
||||
(cond
|
||||
((= (current-status (-> obj tasks)) 1)
|
||||
((= (current-status (-> obj tasks)) (task-status unknown))
|
||||
)
|
||||
((zero? (current-status (-> obj tasks)))
|
||||
((= (current-status (-> obj tasks)) (task-status invalid))
|
||||
)
|
||||
((and
|
||||
(closed?
|
||||
@@ -256,19 +254,19 @@
|
||||
(defmethod get-art-elem sage-bluehut ((obj sage-bluehut))
|
||||
(cond
|
||||
((and
|
||||
(= (current-task (-> obj tasks)) 55)
|
||||
(= (current-task (-> obj tasks)) (game-task rolling-plants))
|
||||
(or
|
||||
(= (current-status (-> obj tasks)) 2)
|
||||
(= (current-status (-> obj tasks)) 3)
|
||||
(= (current-status (-> obj tasks)) (task-status need-hint))
|
||||
(= (current-status (-> obj tasks)) (task-status need-introduction))
|
||||
)
|
||||
)
|
||||
(save-reminder (-> obj tasks) 0 0)
|
||||
)
|
||||
((and
|
||||
(= (current-task (-> obj tasks)) 104)
|
||||
(= (current-task (-> obj tasks)) (game-task swamp-arm))
|
||||
(or
|
||||
(= (current-status (-> obj tasks)) 2)
|
||||
(= (current-status (-> obj tasks)) 3)
|
||||
(= (current-status (-> obj tasks)) (task-status need-hint))
|
||||
(= (current-status (-> obj tasks)) (task-status need-introduction))
|
||||
)
|
||||
)
|
||||
(save-reminder (-> obj tasks) 1 0)
|
||||
@@ -379,19 +377,19 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.8 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP20" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SAGELP20" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.6 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP21" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SAGELP21" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.4 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP22" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SAGELP22" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.2 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP23" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SAGELP23" #f (-> obj root-override trans))
|
||||
)
|
||||
((nonzero? (get-task-status (game-task citadel-sage-blue)))
|
||||
(dummy-11 (-> obj ambient) "SAGELP24" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SAGELP24" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
(with-pp
|
||||
(set! (-> obj talk-message) (the-as uint 260))
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(if arg0
|
||||
(close-status! (-> obj tasks) (task-status need-introduction))
|
||||
)
|
||||
@@ -140,7 +140,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(new 'static 'spool-anim
|
||||
:name "warrior-reminder-1"
|
||||
@@ -149,13 +149,10 @@
|
||||
:command-list '()
|
||||
)
|
||||
)
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(cond
|
||||
(arg0
|
||||
(set!
|
||||
(-> obj cell-for-task)
|
||||
(the-as game-task (current-task (-> obj tasks)))
|
||||
)
|
||||
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
|
||||
(close-current! (-> obj tasks))
|
||||
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-4 from) pp)
|
||||
@@ -223,9 +220,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 5)
|
||||
@@ -268,13 +263,13 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.66 f0-2)
|
||||
(dummy-11 (-> obj ambient) "WAR-LO1A" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "WAR-LO1A" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.33 f0-2)
|
||||
(dummy-11 (-> obj ambient) "WAR-LO1B" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "WAR-LO1B" #f (-> obj root-override trans))
|
||||
)
|
||||
(else
|
||||
(dummy-11 (-> obj ambient) "WAR-LO1C" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "WAR-LO1C" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string (the-as task-status (current-status (-> obj tasks))))
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(get-art-elem obj)
|
||||
@@ -133,13 +133,13 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.85714287 f0-2)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP31" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "ASSTLP31" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.71428573 f0-2)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP32" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "ASSTLP32" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.5714286 f0-2)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP33" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "ASSTLP33" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.42857143 f0-2)
|
||||
(let ((v1-16 (get-task-status (game-task lavatube-end))))
|
||||
@@ -150,7 +150,12 @@
|
||||
(= v1-16 (task-status invalid))
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP34" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"ASSTLP34"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -163,7 +168,12 @@
|
||||
(= v1-21 (task-status invalid))
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP35" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"ASSTLP35"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -176,12 +186,17 @@
|
||||
(= v1-26 (task-status invalid))
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "ASSTLP36" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"ASSTLP36"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
((nonzero? (get-task-status (game-task citadel-sage-green)))
|
||||
(dummy-11 (-> obj ambient) "ASSTLP37" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "ASSTLP37" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string (the-as task-status (current-status (-> obj tasks))))
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(the-as basic (-> obj draw art-group data 3))
|
||||
@@ -337,12 +337,12 @@
|
||||
(with-pp
|
||||
(set! (-> obj talk-message) (the-as uint 260))
|
||||
(case (current-status (-> obj tasks))
|
||||
((2 3)
|
||||
(((task-status need-hint) (task-status need-introduction))
|
||||
(if (not arg0)
|
||||
(set! (-> obj will-talk) #t)
|
||||
)
|
||||
(case (current-task (-> obj tasks))
|
||||
((96)
|
||||
(((game-task village3-miner-money1))
|
||||
(when arg0
|
||||
(let* ((s5-1 (-> obj tasks))
|
||||
(s4-0 (method-of-object s5-1 save-reminder))
|
||||
@@ -430,7 +430,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((78)
|
||||
(((game-task cave-gnawers))
|
||||
(when arg0
|
||||
(let* ((s5-2 (-> obj tasks))
|
||||
(s4-1 (method-of-object s5-2 save-reminder))
|
||||
@@ -526,7 +526,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((5)
|
||||
(((task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1)))
|
||||
(if (< (the-as uint 3) (the-as uint s4-2))
|
||||
@@ -680,7 +680,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((6)
|
||||
(((task-status need-reward-speech))
|
||||
(let ((s4-3 (get-reminder (-> obj tasks) 2)))
|
||||
(cond
|
||||
(arg0
|
||||
@@ -691,10 +691,7 @@
|
||||
(set! (-> a1-22 param 0) (the-as uint (process->handle obj)))
|
||||
(send-event-function (-> obj other-miner ppointer 3) a1-22)
|
||||
)
|
||||
(set!
|
||||
(-> obj cell-for-task)
|
||||
(the-as game-task (current-task (-> obj tasks)))
|
||||
)
|
||||
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
|
||||
(close-current! (-> obj tasks))
|
||||
(let ((a1-23 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-23 from) pp)
|
||||
@@ -743,9 +740,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(-> obj draw art-group data 3)
|
||||
@@ -788,91 +783,91 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.9655172 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MIN-LO01" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MIN-LO01" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.9310345 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MIN-LO03" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MIN-LO03" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.8965517 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MIN-LO04" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MIN-LO04" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.86206895 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MIN-LO05" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MIN-LO05" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.82758623 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MIN-LO06" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MIN-LO06" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.79310346 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM01" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM01" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.7586207 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM02" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM02" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.7241379 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM03" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM03" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.6896552 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM04" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM04" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.6551724 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM05" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM05" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.62068963 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM06" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM06" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.5862069 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM07" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM07" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.55172414 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM08" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM08" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.51724136 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM09" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM09" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.4827586 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM10" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM10" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.44827586 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM11" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM11" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.41379312 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM12" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM12" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.37931034 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM1A" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM1A" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.3448276 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM2A" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM2A" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.31034482 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MSH-AM3A" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MSH-AM3A" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.27586207 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MTA-AM01" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MTA-AM01" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.2413793 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MTA-AM02" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MTA-AM02" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.20689656 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MTA-AM03" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MTA-AM03" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.1724138 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MTA-AM04" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MTA-AM04" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.13793103 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MTA-AM05" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MTA-AM05" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.10344828 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MTA-AM06" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MTA-AM06" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.06896552 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MTA-AM07" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MTA-AM07" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.03448276 f0-2)
|
||||
(dummy-11 (-> obj ambient) "MTA-AM08" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MTA-AM08" #f (-> obj root-override trans))
|
||||
)
|
||||
(else
|
||||
(dummy-11 (-> obj ambient) "MTA-AM09" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "MTA-AM09" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -78,12 +78,15 @@
|
||||
(with-pp
|
||||
(set! (-> obj talk-message) (the-as uint 291))
|
||||
(case (current-status (-> obj tasks))
|
||||
((1 2 3)
|
||||
(((task-status unknown)
|
||||
(task-status need-hint)
|
||||
(task-status need-introduction)
|
||||
)
|
||||
(if (not arg0)
|
||||
(set! (-> obj will-talk) #t)
|
||||
)
|
||||
(case (current-task (-> obj tasks))
|
||||
((105)
|
||||
(((game-task village3-button))
|
||||
(when arg0
|
||||
(close-status! (-> obj tasks) (task-status need-introduction))
|
||||
(let ((a1-5 (new 'stack-no-clear 'event-message-block)))
|
||||
@@ -337,7 +340,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((79)
|
||||
(((game-task cave-dark-crystals))
|
||||
(when arg0
|
||||
(let* ((s5-3 (-> obj tasks))
|
||||
(s4-0 (method-of-object s5-3 save-reminder))
|
||||
@@ -405,7 +408,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((4 5)
|
||||
(((task-status need-reminder-a) (task-status need-reminder))
|
||||
(set! (-> obj skippable) #t)
|
||||
(let ((s4-1 (+ (get-reminder (-> obj tasks) 0) 1)))
|
||||
(if (< (the-as uint 1) (the-as uint s4-1))
|
||||
@@ -466,9 +469,7 @@
|
||||
0
|
||||
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
||||
(-> obj name)
|
||||
(task-status->string
|
||||
(the-as task-status (current-status (-> obj tasks)))
|
||||
)
|
||||
(task-status->string (current-status (-> obj tasks)))
|
||||
)
|
||||
)
|
||||
(get-art-elem obj)
|
||||
@@ -507,7 +508,7 @@
|
||||
)
|
||||
(cond
|
||||
((< 0.875 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP31" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SAGELP31" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.75 f0-2)
|
||||
(if
|
||||
@@ -518,33 +519,48 @@
|
||||
(task-status need-reminder)
|
||||
)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "SAGELP32" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"SAGELP32"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.625 f0-2)
|
||||
(if (nonzero? (get-task-status (game-task citadel-sage-green)))
|
||||
(dummy-11 (-> obj ambient) "SAGELP33" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"SAGELP33"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((< 0.5 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP34" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SAGELP34" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.375 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP35" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SAGELP35" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.25 f0-2)
|
||||
(dummy-11 (-> obj ambient) "SAGELP36" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SAGELP36" #f (-> obj root-override trans))
|
||||
)
|
||||
((< 0.125 f0-2)
|
||||
(if (nonzero? (get-task-status (game-task citadel-sage-green)))
|
||||
(dummy-11 (-> obj ambient) "SAGELP37" #f (-> obj root-override trans))
|
||||
(play-ambient
|
||||
(-> obj ambient)
|
||||
"SAGELP37"
|
||||
#f
|
||||
(-> obj root-override trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
((!=
|
||||
(get-task-status (game-task citadel-sage-green))
|
||||
(task-status need-resolution)
|
||||
)
|
||||
(dummy-11 (-> obj ambient) "SAGELP38" #f (-> obj root-override trans))
|
||||
(play-ambient (-> obj ambient) "SAGELP38" #f (-> obj root-override trans))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -374,6 +374,25 @@ Val* Compiler::compile_deftype(const goos::Object& form, const goos::Object& res
|
||||
// remember that this is a type
|
||||
m_symbol_types[result.type.base_type()] = m_ts.make_typespec("type");
|
||||
|
||||
// add declared states
|
||||
for (auto& state : result.type_info->get_states_declared_for_type()) {
|
||||
auto existing_type = m_symbol_types.find(state.name);
|
||||
if (existing_type != m_symbol_types.end() && existing_type->second != state.type) {
|
||||
if (m_throw_on_define_extern_redefinition) {
|
||||
throw_compiler_error(form, "deftype would redefine the type of state {} from {} to {}.",
|
||||
state.name, existing_type->second.print(), state.type.print());
|
||||
} else {
|
||||
print_compiler_warning(
|
||||
"[Warning] deftype has redefined the type of state {}\npreviously: {}\nnow: "
|
||||
"{}\n",
|
||||
state.name.c_str(), existing_type->second.print().c_str(), state.type.print().c_str());
|
||||
}
|
||||
}
|
||||
|
||||
m_symbol_types[state.name] = state.type;
|
||||
m_symbol_info.add_fwd_dec(state.name, form);
|
||||
}
|
||||
|
||||
if (result.create_runtime_type) {
|
||||
// get the new method of type object. this is new_type in kscheme.cpp
|
||||
auto new_type_method = compile_get_method_of_type(form, m_ts.make_typespec("type"), "new", env);
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
cd ..\..
|
||||
out\build\Release\bin\goalc -v
|
||||
pause
|
||||
+2
-2
@@ -1209,11 +1209,11 @@
|
||||
|
||||
;; definition for function cam-slave-go
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defun cam-slave-go ((arg0 camera-slave))
|
||||
(defun cam-slave-go ((arg0 state))
|
||||
(with-pp
|
||||
(cam-slave-init-vars)
|
||||
(let ((t9-1 (the-as (function object) enter-state)))
|
||||
(set! (-> pp next-state) (the-as state arg0))
|
||||
(set! (-> pp next-state) arg0)
|
||||
(t9-1)
|
||||
)
|
||||
0
|
||||
|
||||
@@ -352,9 +352,10 @@
|
||||
|
||||
;; definition of type collide-shape-prim-group
|
||||
(deftype collide-shape-prim-group (collide-shape-prim)
|
||||
((num-prims int32 :offset-assert 72)
|
||||
(allocated-prims int32 :offset-assert 76)
|
||||
(prim uint32 1 :offset-assert 80)
|
||||
((num-prims int32 :offset-assert 72)
|
||||
(allocated-prims int32 :offset-assert 76)
|
||||
(prim collide-shape-prim 1 :offset-assert 80)
|
||||
(prims collide-shape-prim :dynamic :offset 80)
|
||||
)
|
||||
:method-count-assert 30
|
||||
:size-assert #x54
|
||||
@@ -383,7 +384,7 @@
|
||||
(format #t "~Tradius: (meters ~m)~%" (-> obj local-sphere w))
|
||||
(format #t "~Tnum-prims: ~D~%" (-> obj num-prims))
|
||||
(format #t "~Tallocated-prims: ~D~%" (-> obj allocated-prims))
|
||||
(format #t "~Tprim[1] @ #x~X~%" (-> obj prim))
|
||||
(format #t "~Tprim[1] @ #x~X~%" (-> obj prims))
|
||||
obj
|
||||
)
|
||||
|
||||
@@ -684,7 +685,7 @@
|
||||
(set! (-> obj prim-core prim-type) 0)
|
||||
(while (nonzero? elt-count)
|
||||
(+! elt-count -1)
|
||||
(set! (-> obj prim elt-count) (the-as uint #f))
|
||||
(set! (-> obj prims elt-count) #f)
|
||||
(nop!)
|
||||
)
|
||||
(the-as collide-shape-prim-group obj)
|
||||
|
||||
@@ -128,10 +128,11 @@
|
||||
(unknown-dword40 int64 :offset 2160)
|
||||
(unknown-dword41 int64 :offset 2168)
|
||||
(unknown-handle10 handle :offset 2176)
|
||||
(unknown-int11 int32 :offset 2184)
|
||||
(unknown-symbol20 symbol :offset 2184)
|
||||
(unknown-int20 int32 :offset 2188)
|
||||
(unknown-vector102 vector :inline :offset 2224)
|
||||
(unknown-vector103 vector :inline :offset 2240)
|
||||
(unknown-smush00 smush-control :inline :offset 2288)
|
||||
(unknown-vector110 vector :inline :offset 2320)
|
||||
(unknown-vector111 vector :inline :offset 2336)
|
||||
(unknown-int30 int32 :offset 2384)
|
||||
|
||||
+1
-1
@@ -452,7 +452,7 @@
|
||||
(new (symbol type process art-joint-geo) _type_ 0)
|
||||
(dummy-9 (_type_) (pointer int8) 9)
|
||||
(dummy-10 (_type_ int) int 10)
|
||||
(dummy-11 (_type_ pointer) int 11)
|
||||
(dummy-11 (_type_ lod-set) none 11)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
+1
-1
@@ -1314,7 +1314,7 @@
|
||||
|
||||
;; definition (debug) for function add-debug-yrot-vector
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 32 mismatch: defined as size 4, got size 16
|
||||
;; Used lq/sq
|
||||
(defun-debug
|
||||
add-debug-yrot-vector
|
||||
|
||||
+8
-8
@@ -805,14 +805,14 @@
|
||||
)
|
||||
|
||||
;; definition for function debug-menu-make-from-template
|
||||
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 48 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 64 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 80 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 48 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 64 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 80 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
;; Used lq/sq
|
||||
(defun debug-menu-make-from-template ((arg0 debug-menu-context) (arg1 pair))
|
||||
(local-vars
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user