Compare commits

...
11 Commits
Author SHA1 Message Date
water 7bdb134312 jak2 2023-09-30 10:57:08 -04:00
water 4274f44d4f jak1 2023-09-30 10:40:47 -04:00
water 804f0915a5 Merge branch 'master' of github.com:water111/jak-project into w/parent-method 2023-09-30 10:24:41 -04:00
water 2284a336fd undo changes to goalsrc 2023-09-30 10:24:37 -04:00
water 83c095ab99 format and debug print remove 2023-09-23 14:42:30 -04:00
water fff99dbd4b ref 2023-09-23 14:27:52 -04:00
water 10971703a0 jak 2 2023-09-23 14:26:30 -04:00
water 69caa163c9 jak 1 2023-09-23 13:31:53 -04:00
water 518bf8b29a jak1 methods compiling 2023-09-23 12:17:56 -04:00
water 104f85a8d6 decomp for jak1, methods only 2023-09-23 11:53:51 -04:00
water 53336adfa0 cpp warning fixes 2023-09-23 10:22:09 -04:00
323 changed files with 937 additions and 1797 deletions

No files matched your search

+1 -1
View File
@@ -55,7 +55,7 @@ std::string apply_formatting(
}
// TODO - might want to make some kind of per-form config struct, simplify the passing around of
// info below
for (int i = 0; i < curr_node.refs.size(); i++) {
for (int i = 0; i < (int)curr_node.refs.size(); i++) {
const auto& ref = curr_node.refs.at(i);
// Figure out if the element should be inlined or not
bool inline_element = inline_form;
+6 -6
View File
@@ -22,7 +22,7 @@ void separate_by_newline(std::string& curr_text,
// We only are concerned with top level forms or elements
// Skip the last element, no trailing new-lines (let the editors handle this!)
// Also peek ahead to see if there was a comment on this line, if so don't separate things!
if (!containing_node.metadata.is_top_level || index >= containing_node.refs.size() - 1 ||
if (!containing_node.metadata.is_top_level || index >= (int)containing_node.refs.size() - 1 ||
(containing_node.refs.at(index + 1).metadata.is_comment &&
containing_node.refs.at(index + 1).metadata.is_inline)) {
return;
@@ -100,7 +100,7 @@ bool form_should_be_constant_paired(const FormatterTreeNode& node) {
return false;
}
int num_pairs = 0;
for (int i = 0; i < node.refs.size() - 1; i++) {
for (int i = 0; i < (int)node.refs.size() - 1; i++) {
const auto& ref = node.refs.at(i);
const auto& next_ref = node.refs.at(i + 1);
if (ref.token && next_ref.token) {
@@ -147,7 +147,7 @@ int compute_form_width_after_index(const FormatterTreeNode& node,
}
}
int form_width = 0;
for (int i = 0; i < node.refs.size(); i++) {
for (int i = 0; i < (int)node.refs.size(); i++) {
const auto& ref = node.refs.at(i);
if (depth == 0 && i < index) {
continue;
@@ -275,7 +275,7 @@ void append_newline(std::string& curr_text,
const bool flowing,
const bool constant_pair_form,
const bool force_newline) {
if (force_newline && index >= 1 || (node.metadata.is_comment && !node.metadata.is_inline)) {
if ((force_newline && index >= 1) || (node.metadata.is_comment && !node.metadata.is_inline)) {
curr_text = str_util::rtrim(curr_text) + "\n";
return;
}
@@ -362,8 +362,8 @@ void align_lines(std::string& text,
alignment_width = 1;
}
std::string aligned_form = "";
for (int i = 0; i < lines.size(); i++) {
if (i >= start_index) {
for (size_t i = 0; i < lines.size(); i++) {
if ((int)i >= start_index) {
aligned_form += str_util::repeat(alignment_width, " ");
}
aligned_form += lines.at(i);
+1 -1
View File
@@ -147,7 +147,7 @@ void set_file(const std::string& filename,
existing_log_files = file_util::sort_filepaths(existing_log_files, true);
if (existing_log_files.size() > (LOG_ROTATE_MAX - 1)) {
lg::info("removing {} log files", existing_log_files.size() - (LOG_ROTATE_MAX - 1));
for (int i = 0; i < existing_log_files.size() - (LOG_ROTATE_MAX - 1); i++) {
for (int i = 0; i < (int)existing_log_files.size() - (LOG_ROTATE_MAX - 1); i++) {
lg::info("removing {}", existing_log_files.at(i).string());
fs::remove(existing_log_files.at(i));
}
+71 -6
View File
@@ -93,6 +93,8 @@ TP_Type SimpleAtom::get_type(const TypeState& input,
return TP_Type::make_run_function_in_process_function();
} else if (m_string == "set-to-run" && env.func->name() != "enter-state") {
return TP_Type::make_set_to_run_function();
} else if (m_string == "find-parent-method") {
return TP_Type::make_find_parent_method_function();
}
// look up the type of the symbol
@@ -1355,10 +1357,6 @@ TypeState CallOp::propagate_types_internal(const TypeState& input,
in_type = TypeSpec("function", new_arg_types);
}
if (in_type.arg_count() < 1) {
throw std::runtime_error("Called a function, but we do not know its type");
}
if (in_type.arg_count() == 2 && in_type.get_arg(0) == TypeSpec("_varargs_")) {
// we're calling a varags function, which is format. We can determine the argument count
// by looking at the format string, if we can get it.
@@ -1418,12 +1416,79 @@ TypeState CallOp::propagate_types_internal(const TypeState& input,
arg_type.print());
}
}
bool use_normal_last_arg = true;
if (in_tp.kind == TP_Type::Kind::FIND_PARENT_METHOD_FUNCTION) {
bool can_use_call_parent = true;
TypeSpec call_parent_result_type;
const auto& guessed_name = env.func->guessed_name;
if (guessed_name.kind == FunctionName::FunctionKind::METHOD ||
guessed_name.kind == FunctionName::FunctionKind::V_STATE) {
// should call something like:
// (find-parent-method sharkey 39)
const auto& type_arg = input.get(Register(Reg::GPR, Reg::A0));
if (can_use_call_parent && type_arg.kind != TP_Type::Kind::TYPE_OF_TYPE_NO_VIRTUAL) {
lg::warn(
"Can't use call-parent-method because the first argument to find-parent-method is a "
"{}, which should be a type",
type_arg.print());
can_use_call_parent = false;
}
if (can_use_call_parent && type_arg.get_type_objects_typespec() != guessed_name.type_name) {
lg::warn(
"Can't use call-parent-method because the first argument type is wrong: got {}, but "
"expected {}",
type_arg.get_type_objects_typespec().print(), guessed_name.type_name);
can_use_call_parent = false;
}
const auto& id_arg = input.get(Register(Reg::GPR, Reg::A1));
int expected_id = -1;
if (guessed_name.kind == FunctionName::FunctionKind::V_STATE) {
auto state_info = dts.ts.lookup_method(guessed_name.type_name, guessed_name.state_name);
expected_id = state_info.id;
call_parent_result_type =
state_info.type.substitute_for_method_call(guessed_name.type_name);
} else {
expected_id = guessed_name.method_id;
call_parent_result_type = env.func->type; // same type as this method!
}
if (can_use_call_parent && !id_arg.is_integer_constant(expected_id)) {
lg::warn(
"Can't use call-parent-method because the second argument is wrong: got {}, but "
"expected a constant integer {}",
id_arg.print(), expected_id);
can_use_call_parent = false;
}
} else {
can_use_call_parent = false;
lg::warn(
"Can't use call-parent-method because find-parent-method was called in {}, which isn't a "
"method or state handler.",
env.func->name());
}
if (can_use_call_parent) {
end_types.get(Register(Reg::GPR, Reg::V0)) = TP_Type::make_from_ts(call_parent_result_type);
use_normal_last_arg = false;
}
}
if (in_type.arg_count() < 1) {
throw std::runtime_error("Called a function, but we do not know its type");
}
if (use_normal_last_arg) {
end_types.get(Register(Reg::GPR, Reg::V0)) = TP_Type::make_from_ts(in_type.last_arg());
}
// set the call type!
m_call_type = in_type;
m_call_type_set = true;
end_types.get(Register(Reg::GPR, Reg::V0)) = TP_Type::make_from_ts(in_type.last_arg());
if (in_tp.kind == TP_Type::Kind::NON_OBJECT_NEW_METHOD &&
in_type.last_arg() == TypeSpec("array")) {
// array new:
+36 -1
View File
@@ -2621,7 +2621,9 @@ void SetVarElement::push_to_stack(const Env& env, FormPool& pool, FormStack& sta
}
}
FormElement* SetFormFormElement::make_set_time(const Env& env, FormPool& pool, FormStack& stack) {
FormElement* SetFormFormElement::make_set_time(const Env& /*env*/,
FormPool& pool,
FormStack& /*stack*/) {
auto matcher = match(
Matcher::op(GenericOpMatcher::func(Matcher::constant_token("current-time")), {}), m_src);
if (matcher.matched) {
@@ -3908,6 +3910,39 @@ void FunctionCallElement::update_from_stack(const Env& env,
}
}
// detect call-parent-method
{
const auto& guessed_name = env.func->guessed_name;
if (guessed_name.kind == FunctionName::FunctionKind::METHOD) {
// detect stuff like: ((find-parent-method...) arg...)
auto mr_find_parent =
match(Matcher::func(Matcher::symbol("find-parent-method"),
{Matcher::symbol(env.func->method_of_type),
Matcher::integer(env.func->guessed_name.method_id)}),
unstacked.at(0)
);
if (mr_find_parent.matched) {
new_form = pool.alloc_element<GenericElement>(
GenericOperator::make_function(pool.form<ConstantTokenElement>("call-parent-method")),
arg_forms);
}
} else if (guessed_name.kind == FunctionName::FunctionKind::V_STATE && arg_forms.size() == 2) {
// here, simply detect (find-parent-method...)
//
auto mr_find_parent = match(Matcher::symbol("find-parent-method"), unstacked.at(0));
if (mr_find_parent.matched) {
auto state_info =
env.dts->ts.lookup_method(guessed_name.type_name, guessed_name.state_name);
if (arg_forms.at(0)->to_string(env) == guessed_name.type_name &&
arg_forms.at(1)->to_string(env) == std::to_string(state_info.id)) {
new_form = pool.alloc_element<GenericElement>(
GenericOperator::make_function(pool.form<ConstantTokenElement>("find-parent-state")));
}
}
}
}
result->push_back(new_form);
}
+4 -4
View File
@@ -276,7 +276,7 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out, const Env* cons
} else if (m_kind == Kind::VAR_NAME) {
return env && env->get_variable_name_name_only(result) == m_str;
} else if (m_reg_out_id != -1) {
if (m_kind == Kind::SAME_VAR && maps_out->regs.size() > m_reg_out_id &&
if (m_kind == Kind::SAME_VAR && (int)maps_out->regs.size() > m_reg_out_id &&
maps_out->regs.at(m_reg_out_id)) {
return env && env->get_variable_name_name_only(result) ==
env->get_variable_name_name_only(*maps_out->regs.at(m_reg_out_id));
@@ -695,7 +695,7 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out, const Env* cons
if (as_let) {
// fail if we have wrong number of entries/body elts or recursive marker
if ((m_entry_matchers.size() != as_let->entries().size()) ||
(m_sub_matchers.size() != as_let->body()->size()) ||
((int)m_sub_matchers.size() != as_let->body()->size()) ||
(as_let->is_star() != m_let_is_star)) {
return false;
}
@@ -706,7 +706,7 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out, const Env* cons
}
}
// now match body
for (int i = 0; i < m_sub_matchers.size(); ++i) {
for (int i = 0; i < (int)m_sub_matchers.size(); ++i) {
Form fake;
fake.elts().push_back(as_let->body()->elts().at(i));
if (!m_sub_matchers.at(i).do_match(&fake, maps_out, env)) {
@@ -908,7 +908,7 @@ bool LetEntryMatcher::do_match(const LetElement::Entry& input,
case Kind::ANY:
case Kind::NAME:
if (m_reg_out_id != -1) {
if (m_kind == Kind::NAME && maps_out->regs.size() > m_reg_out_id &&
if (m_kind == Kind::NAME && (int)maps_out->regs.size() > m_reg_out_id &&
maps_out->regs.at(m_reg_out_id)) {
return env && env->get_variable_name_name_only(input.dest) ==
env->get_variable_name_name_only(*maps_out->regs.at(m_reg_out_id));
+5 -250
View File
@@ -515,7 +515,6 @@
"(method 10 shadow-control)": [[1, "v1", "int"]],
"(method 0 fact-info-enemy)": [[[3, 92], "gp", "fact-info-enemy"]],
"(method 0 fact-info)": [
//[16, "t9", "(function string none)"],
["_stack_", 16, "res-tag"],
[[32, 43], "v1", "(pointer int32)"],
[86, "gp", "fact-info"]
@@ -1569,8 +1568,7 @@
],
"(method 7 rigid-body-platform)": [
[5, "v1", "int"],
[14, "t9", "(function process-drawable int process-drawable)"]
[5, "v1", "int"]
],
"(method 10 rigid-body)": [[50, "v1", "vector"]],
@@ -1605,10 +1603,6 @@
[49, "v1", "village2cam"]
],
"(trans plat-button-move-downward sunken-elevator)": [
[13, "v0", "(state sunken-elevator)"]
],
"(method 27 sunken-elevator)": [[37, "v1", "art-joint-anim"]],
"nav-enemy-set-base-collide-sphere-collide-with": [
@@ -1651,8 +1645,7 @@
"(method 7 nav-enemy)": [
[5, "v1", "int"],
[10, "v1", "int"],
[19, "t9", "(function process-drawable int none)"]
[10, "v1", "int"]
],
"(enter nav-enemy-patrol nav-enemy)": [[8, "v1", "int"]],
@@ -1972,8 +1965,6 @@
[87, "s4", "swingpole"]
],
"(method 10 target)": [[[10, 13], "t9", "(function process-drawable none)"]],
"draw-history": [[[99, 101], "v1", "int"]],
"(method 9 attack-info)": [
@@ -2232,12 +2223,9 @@
"(method 7 beach-rock)": [
[5, "v1", "int"],
[10, "v1", "int"],
[19, "t9", "(function process-drawable int none)"]
[10, "v1", "int"]
],
"(method 10 beach-rock)": [[21, "t9", "(function process-drawable none)"]],
"(code falling beach-rock)": [
[138, "gp", "handle"],
[150, "gp", "handle"],
@@ -2296,18 +2284,12 @@
[42, "s3", "(inline-array sparticle-cpuinfo)"]
],
"(trans plat-button-move-downward jungle-elevator)": [
[11, "v0", "(state plat-button)"]
],
"(code plat-button-at-end jungle-elevator)": [
[43, "t9", "(function none :behavior plat-button)"]
],
"(code bouncer-fire)": [[17, "v1", "art-joint-anim"]],
"(method 39 hopper)": [[16, "t9", "(function nav-enemy none)"]],
"(code nav-enemy-idle hopper)": [
[16, "v1", "art-joint-anim"],
[70, "v1", "art-joint-anim"]
@@ -2323,8 +2305,6 @@
[105, "v1", "art-joint-anim"]
],
"(method 39 junglefish)": [[12, "t9", "(function nav-enemy none)"]],
"(code nav-enemy-patrol junglefish)": [
[27, "v1", "art-joint-anim"],
[107, "v1", "art-joint-anim"],
@@ -2402,8 +2382,6 @@
[329, "v1", "art-joint-anim"]
],
"(method 39 sharkey)": [[71, "t9", "(function nav-enemy none)"]],
"(code nav-enemy-patrol sharkey)": [[27, "v1", "art-joint-anim"]],
"(code nav-enemy-attack sharkey)": [[144, "v1", "art-joint-anim"]],
@@ -2774,8 +2752,6 @@
"(code babak-with-cannon-jump-off-cannon)": [[28, "v1", "art-joint-anim"]],
"(trans nav-enemy-die babak-with-cannon)": [[40, "v0", "(state nav-enemy)"]],
"(enter othercam-running)": [
[50, "gp", "process-taskable"],
[53, "gp", "process-taskable"]
@@ -2808,10 +2784,6 @@
"(code yakow-kicked)": [[81, "v1", "art-joint-anim"]],
"(method 7 fishermans-boat)": [
[20, "t9", "(function rigid-body-platform int rigid-body-platform)"]
],
"(code muse-idle)": [
[35, "v1", "art-joint-anim"],
[87, "v1", "art-joint-anim"]
@@ -2896,10 +2868,6 @@
"(event square-platform-master-idle)": [[6, "a0", "square-platform-button"]],
"(method 7 square-platform)": [
[24, "t9", "(function baseplat int baseplat)"]
],
"(method 11 square-platform)": [
["_stack_", 16, "res-tag"],
["_stack_", 32, "res-tag"],
@@ -2925,10 +2893,6 @@
[3, "t9", "(function none :behavior qbert-plat)"]
],
"(method 23 qbert-plat)": [
[9, "t9", "(function rigid-body-platform float none)"]
],
"(code keg-on-paddle)": [
[5, "a0", "keg"], // i have learned that parent does not always equal the parent type!
[16, "v1", "process-drawable"]
@@ -2954,14 +2918,6 @@
"keg-init-by-other": [[142, "v1", "process-drawable"]],
"(method 7 keg-conveyor)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(method 7 swamp-bat)": [
[26, "t9", "(function process-drawable int process-drawable)"]
],
"(code swamp-bat-slave-die)": [[21, "v1", "swamp-bat"]],
// these casts should not be required
@@ -2970,8 +2926,6 @@
[7, "a1", "swamp-bat-slave"]
],
"(method 39 swamp-rat)": [[37, "t9", "(function nav-enemy none)"]],
"(code nav-enemy-patrol swamp-rat)": [[23, "v1", "art-joint-anim"]],
"(code nav-enemy-stare swamp-rat)": [[26, "v1", "art-joint-anim"]],
@@ -2987,8 +2941,6 @@
"(code spiderwebs-bounce)": [[80, "v1", "art-joint-anim"]],
"(method 39 baby-spider)": [[37, "t9", "(function nav-enemy none)"]],
"(code baby-spider-hatching)": [[14, "v1", "art-joint-anim"]],
"(code nav-enemy-attack baby-spider)": [[14, "v1", "art-joint-anim"]],
@@ -3058,10 +3010,6 @@
[230, "v1", "baby-spider"]
],
"(method 7 cave-trap)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(method 57 ice-cube)": [
[16, "v1", "collide-shape-prim-group"],
[26, "v1", "collide-shape-prim-group"]
@@ -3092,8 +3040,6 @@
[238, "v1", "art-joint-anim"]
],
"(method 7 yeti-slave)": [[14, "t9", "(function nav-enemy int nav-enemy)"]],
"(method 21 yeti)": [[5, "s5", "(pointer yeti-slave)"]],
"(code idle assistant-lavatube-start)": [
@@ -3199,6 +3145,8 @@
[20, "s3", "hud-fuel-cell"]
],
"(enter pickup fuel-cell)": [[9, "v0", "(state eco-collectable)"]],
"(method 15 hud-pickups)": [
[51, "v1", "dma-packet"],
[52, "v1", "dma-packet"]
@@ -3239,14 +3187,6 @@
[[53, 136], "gp", "(pointer nav-enemy)"]
],
"(method 7 battlecontroller)": [
[29, "t9", "(function process-drawable int process-drawable)"]
],
"(method 10 battlecontroller)": [
[13, "t9", "(function process-drawable none)"]
],
"(method 27 battlecontroller)": [
["_stack_", 16, "res-tag"],
[182, "v0", "(pointer int32)"]
@@ -3710,8 +3650,6 @@
[79, "v1", "float"]
],
"(method 38 fisher)": [[33, "t9", "(function fisher none)"]],
"(enter fisher-done)": [
[137, "f0", "float"],
[148, "f0", "float"],
@@ -3725,10 +3663,6 @@
[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"]
@@ -4096,10 +4030,6 @@
[101, "s2", "handle"]
],
"(method 7 cavegeyserrock)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(trans junglesnake-wake)": [[15, "v1", "collide-shape-prim-group"]],
"(trans junglesnake-attack)": [[15, "v1", "collide-shape-prim-group"]],
@@ -4140,10 +4070,6 @@
[191, "v1", "art-joint-anim"]
],
"(method 7 flutflutegg)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(event flutflutegg-idle)": [[30, "gp", "process-drawable"]],
"(event flutflutegg-physics)": [[37, "gp", "process-drawable"]],
@@ -4164,10 +4090,6 @@
"(method 26 warp-gate-switch)": [[60, "v1", "art-joint-anim"]],
"(method 31 warp-gate-switch)": [
[61, "t9", "(function basebutton symbol none)"]
],
"(code basebutton-going-down warp-gate-switch)": [
[79, "v0", "(state basebutton)"],
[81, "t9", "(function none :behavior basebutton)"]
@@ -4177,24 +4099,6 @@
"(code idle warp-gate)": [[35, "a0", "symbol"]],
"(method 21 citb-arm)": [[7, "t9", "(function citb-arm-section none)"]],
"(method 21 citb-arm-shoulder)": [
[7, "t9", "(function citb-arm-section none)"]
],
"(method 21 citb-arm-a)": [[14, "t9", "(function citb-arm none)"]],
"(method 21 citb-arm-b)": [[14, "t9", "(function citb-arm none)"]],
"(method 21 citb-arm-c)": [[14, "t9", "(function citb-arm none)"]],
"(method 21 citb-arm-d)": [[14, "t9", "(function citb-arm none)"]],
"(method 21 citb-arm-shoulder-a)": [[14, "t9", "(function citb-arm none)"]],
"(method 21 citb-arm-shoulder-b)": [[14, "t9", "(function citb-arm none)"]],
"(method 26 citb-button)": [[31, "v1", "art-joint-anim"]],
"(code citb-coil-break)": [[19, "v1", "art-joint-anim"]],
@@ -4219,14 +4123,9 @@
],
"(code battlecontroller-die citb-battlecontroller)": [
[9, "v0", "(state battlecontroller)"],
[11, "t9", "(function none :behavior battlecontroller)"]
],
"(method 27 citb-battlecontroller)": [
[7, "t9", "(function battlecontroller none)"]
],
"(code eggtop-close)": [
[108, "v1", "art-joint-anim"],
[176, "v1", "art-joint-anim"]
@@ -4246,10 +4145,6 @@
"(event precurbridge-active)": [[4, "gp", "touching-shapes-entry"]],
"(method 7 jngpusher)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(method 11 lurkerm-piston)": [
["_stack_", 16, "res-tag"],
["_stack_", 32, "res-tag"],
@@ -4258,20 +4153,12 @@
"(code starfish-patrol)": [[16, "v1", "art-joint-anim"]],
"(method 7 hutlamp)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(code mis-bone-bridge-bump)": [[10, "v1", "art-joint-anim"]],
"(code mis-bone-bridge-hit)": [[21, "v1", "art-joint-anim"]],
"(code mis-bone-bridge-fall)": [[50, "v1", "art-joint-anim"]],
"(method 23 bone-platform)": [
[9, "t9", "(function rigid-body-platform basic none)"]
],
"mistycam-spawn": [
[[68, 76], "v1", "handle"],
[80, "v1", "pov-camera"],
@@ -4283,10 +4170,6 @@
[34, "gp", "handle"]
],
"(method 27 misty-battlecontroller)": [
[7, "t9", "(function battlecontroller none)"]
],
"(code boat-fuelcell-spawn)": [[50, "gp", "handle"]],
"(code pov-camera-playing village2cam)": [
@@ -4294,10 +4177,6 @@
[65, "v1", "art-joint-anim"]
],
"(method 23 pontoon)": [
[9, "t9", "(function rigid-body-platform basic none)"]
],
"fireboulder-disable-blocking-collision": [
[5, "v1", "collide-shape-prim-group"],
[14, "v1", "collide-shape-prim-group"]
@@ -4329,10 +4208,6 @@
"(code swamp-spike-gate-up)": [[60, "v1", "art-joint-anim"]],
"(method 23 tar-plat)": [
[9, "t9", "(function rigid-body-platform basic none)"]
],
"(code battlecontroller-play-intro-camera swamp-battlecontroller)": [
[38, "gp", "handle"]
],
@@ -4425,32 +4300,6 @@
"(trans spike-idle)": [[70, "v1", "float"]],
"(method 23 ogre-plat)": [
[9, "t9", "(function rigid-body-platform basic none)"]
],
"(method 31 ogre-step)": [[23, "t9", "(function ogre-plat none)"]],
"(method 31 ogre-step-a)": [[25, "t9", "(function ogre-step none)"]],
"(method 31 ogre-step-b)": [[25, "t9", "(function ogre-step none)"]],
"(method 31 ogre-step-c)": [[25, "t9", "(function ogre-step none)"]],
"(method 31 ogre-step-d)": [[25, "t9", "(function ogre-step none)"]],
"(method 31 ogre-isle)": [[17, "t9", "(function ogre-plat none)"]],
"(method 31 ogre-isle-b)": [[31, "t9", "(function ogre-isle none)"]],
"(method 31 ogre-isle-c)": [[31, "t9", "(function ogre-isle none)"]],
"(method 31 ogre-isle-d)": [[37, "t9", "(function ogre-isle none)"]],
"(method 7 ogre-bridge)": [
[26, "t9", "(function process-drawable int process-drawable)"]
],
"(code ogre-bridge-activate)": [[33, "v1", "art-joint-anim"]],
"(code water-vol-idle ogre-lava)": [[36, "v1", "art-joint-anim"]],
@@ -4489,10 +4338,6 @@
[346, "v1", "art-joint-anim"]
],
"(method 7 snow-fort-gate)": [
[19, "t9", "(function process-drawable int process-drawable)"]
],
"(code snow-button-activate)": [[25, "v1", "art-joint-anim"]],
"(code snow-button-deactivate)": [[26, "v1", "art-joint-anim"]],
@@ -4501,10 +4346,6 @@
[62, "t9", "(function none :behavior plat)"]
],
"(method 7 darkecobarrel)": [
[14, "t9", "(function darkecobarrel-base int darkecobarrel-base)"]
],
"(event darkecobarrel-mover-move)": [[76, "v1", "process-drawable"]],
"(code darkecobarrel-mover-move)": [
@@ -4531,10 +4372,6 @@
"(method 11 training-cam)": [[21, "s5", "entity-actor"]],
"(method 23 tra-pontoon)": [
[9, "t9", "(function rigid-body-platform float none)"]
],
"(event idle scarecrow-a)": [
[75, "v1", "process-drawable"],
[135, "gp", "target"],
@@ -4768,10 +4605,6 @@
"command-get-camera": [[27, "gp", "symbol"]],
"(method 7 plant-boss)": [
[47, "t9", "(function process-drawable int process-drawable)"]
],
"(code plant-boss-arm-hit)": [[88, "v1", "art-joint-anim"]],
"(code plant-boss-arm-die)": [
@@ -4850,8 +4683,6 @@
"(code plant-boss-back-arms-hit)": [[149, "v1", "art-joint-anim"]],
"(method 7 ice-cube)": [[24, "t9", "(function nav-enemy int nav-enemy)"]],
"(code ice-cube-appear)": [[14, "v1", "art-joint-anim"]],
"(code ice-cube-tired)": [
@@ -4905,14 +4736,6 @@
[22, "v1", "collide-shape-prim-group"]
],
"(method 7 billy)": [
[26, "t9", "(function process-drawable int process-drawable)"]
],
"(method 38 billy)": [[33, "t9", "(function nav-enemy none)"]],
"(enter nav-enemy-victory billy-rat)": [[4, "v0", "(state nav-enemy)"]],
"(code billy-rat-salivate)": [[43, "v1", "art-joint-anim"]],
"(code idle billy)": [
@@ -4956,10 +4779,6 @@
[89, "v1", "float"]
],
"(method 7 pelican)": [
[36, "t9", "(function process-drawable int process-drawable)"]
],
"pelican-fly": [
[61, "v1", "art-joint-anim"],
[186, "v1", "art-joint-anim"]
@@ -5014,14 +4833,6 @@
"(post idle citb-sage)": [[3, "t9", "(function none :behavior citb-sage)"]],
"(method 44 red-sagecage)": [[35, "t9", "(function citb-sage none)"]],
"(method 44 blue-sagecage)": [[35, "t9", "(function citb-sage none)"]],
"(method 44 yellow-sagecage)": [[35, "t9", "(function citb-sage none)"]],
"(method 44 green-sagecage)": [[35, "t9", "(function citb-sage none)"]],
"(method 43 red-sagecage)": [[24, "v1", "float"]],
"(method 43 blue-sagecage)": [[24, "v1", "float"]],
@@ -5058,8 +4869,6 @@
"(event wait fuel-cell)": [[95, "a0", "vector"]],
"(enter pickup fuel-cell)": [[9, "v0", "(state eco-collectable)"]],
"(code ecovalve-idle)": [[41, "v1", "process-drawable"]],
"(code vent-pickup)": [
@@ -5107,10 +4916,6 @@
"sun-iris-door-init-by-other": [[97, "v1", "art-joint-anim"]],
"(method 7 steam-cap)": [
[19, "t9", "(function process-drawable int process-drawable)"]
],
"(method 11 steam-cap)": [
["_stack_", 16, "res-tag"],
[139, "v0", "(pointer float)"]
@@ -5774,8 +5579,6 @@
[198, "v1", "art-joint-anim"]
],
"(method 10 first-person-hud)": [[32, "t9", "(function process none)"]],
"(code target-pole-flip-forward-jump)": [
[40, "t9", "(function none :behavior target)"]
],
@@ -5924,10 +5727,6 @@
"(code snow-bumper-inactive-idle)": [[19, "v1", "art-joint-anim"]],
"(method 7 snow-bumper)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(method 11 snow-bumper)": [
["_stack_", 16, "res-tag"],
[216, "v0", "(pointer float)"]
@@ -5965,10 +5764,6 @@
"(method 31 puffer)": [[16, "v1", "(array collide-shape-prim)"]],
"(method 7 puffer)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(method 11 puffer)": [
["_stack_", 16, "res-tag"],
[213, "v0", "(pointer float)"]
@@ -5984,10 +5779,6 @@
"(code driller-lurker-die)": [[28, "v1", "art-joint-anim"]],
"(method 7 driller-lurker)": [
[24, "t9", "(function process-drawable int process-drawable)"]
],
"(method 11 driller-lurker)": [
["_stack_", 16, "res-tag"],
[373, "v0", "(pointer float)"]
@@ -6012,8 +5803,6 @@
[90, "v1", "art-joint-anim"]
],
"(method 39 kermit)": [[7, "t9", "(function nav-enemy none)"]],
"(code falling gnawer-falling-segment)": [
[16, "v1", "art-joint-anim"],
[70, "v1", "art-joint-anim"]
@@ -6035,8 +5824,6 @@
"(event gnawer-run)": [[54, "a2", "touching-shapes-entry"]],
"(method 7 gnawer)": [[19, "t9", "(function nav-enemy int nav-enemy)"]],
"(code gnawer-give-fuel-cell)": [
[43, "v0", "maincavecam"],
[64, "v1", "maincavecam"]
@@ -6064,10 +5851,6 @@
[124, "v1", "art-joint-anim"]
],
"(method 7 swamp-blimp)": [
[19, "t9", "(function process-drawable int process-drawable)"]
],
"(code swamp-tetherrock-break)": [
[238, "s4", "handle"],
[261, "s4", "handle"],
@@ -6117,10 +5900,6 @@
[47, "v1", "vector"]
],
"(method 23 citb-chain-plat)": [
[9, "t9", "(function rigid-body-platform float none)"]
],
"(code citb-firehose-blast)": [
[10, "v1", "art-joint-anim"],
[86, "v1", "art-joint-anim"],
@@ -6194,10 +5973,6 @@
[69, "v1", "art-joint-anim"]
],
"(method 7 balloonlurker)": [
[29, "t9", "(function process-drawable int process-drawable)"]
],
"(code balloonlurker-pilot-die)": [[58, "v1", "art-joint-anim"]],
"(code orbit-plat-bottom-idle)": [
@@ -6269,10 +6044,6 @@
"(trans bully-stop-spinning)": [[10, "v1", "collide-shape-prim-group"]],
"(method 7 bully)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(enter seagull-idle)": [[20, "v1", "float"]],
"seagull-init-by-other": [[96, "v1", "float"]],
@@ -6389,10 +6160,6 @@
"joint-mod-tracker-callback": [[[3, 99], "s4", "joint-mod-tracker"]],
"(method 7 snow-ball)": [
[26, "t9", "(function process-drawable int process-drawable)"]
],
"(method 11 mistycannon)": [
["_stack_", 16, "res-tag"],
["_stack_", 32, "res-tag"],
@@ -6420,10 +6187,6 @@
"(method 21 helix-water)": [[27, "a0", "process-drawable"]],
"(method 7 helix-water)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(code helix-button-activate)": [[58, "v1", "(pointer sunkencam)"]],
"(code target-flut-jump)": [[137, "v1", "float"]],
@@ -6520,10 +6283,6 @@
[[407, 409], "v1", "(pointer sunken-pipegame-button)"]
],
"(method 7 sunken-pipegame)": [
[33, "t9", "(function process-drawable int process-drawable)"]
],
"(code sunken-pipegame-begin-play)": [
[179, "v1", "float"],
[260, "v1", "float"],
@@ -6898,10 +6657,6 @@
"ogreboss-shoot-boulder": [[41, "a1", "process-drawable"]],
"(method 7 ogreboss-super-boulder)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"ogreboss-bounce-boulder-init-by-other": [[112, "v1", "float"]],
"(code ogreboss-stage3-shuffle)": [
+9 -316
View File
@@ -1,7 +1,4 @@
{
// auto find-parent-method possible
"(method 3 entity-actor)": [[7, "t9", "(function entity entity)"]],
"(method 3 entity)": [[7, "t9", "(function entity entity)"]],
//
"(method 2 array)": [
[23, "gp", "(array int32)"],
@@ -1780,7 +1777,6 @@
"target-real-post": [[97, "f28", "float"]],
"target-compute-pole": [[[12, 180], "s2", "swingpole"]],
"tobot-start": [[26, "s5", "target"]],
"(method 10 target)": [[28, "t9", "(function target none)"]],
"target-compute-edge": [[48, "a0", "process-drawable"]],
"target-compute-edge-rider": [[48, "a0", "process-drawable"]],
"target-update-ik": [[288, "f30", "float"]],
@@ -1959,19 +1955,9 @@
[468, "a0", "editable-light"]
],
"(method 29 editable)": [[[4, 8], "a0", "editable"]],
"(method 28 editable-point)": [
[88, "t9", "(function editable-point editable-command none)"]
],
"(method 27 editable-plane)": [
[9, "t9", "(function editable-plane editable-array editable)"],
[10, "v0", "editable-plane"]
],
"(method 25 editable-face)": [
[25, "t9", "(function editable-face editable-array none)"]
],
"(method 25 editable-plane)": [
[25, "t9", "(function editable-plane editable-array none)"]
],
"(method 29 editable-face)": [
[234, "a1", "editable-point"],
[241, "f0", "float"],
@@ -1984,12 +1970,8 @@
[387, "a1", "(array editable-point)"]
],
"(method 27 editable-face)": [
[9, "t9", "(function editable-face editable-array editable)"],
[10, "v0", "editable-face"]
],
"(method 25 editable-light)": [
[9, "t9", "(function editable-light editable-array none)"]
],
"(method 25 editable)": [[[12, 17], "a0", "editable"]],
"merc-edge-stats": [[31, "v1", "merc-ctrl"]],
"(method 8 merc-ctrl)": [
@@ -2179,7 +2161,6 @@
],
"(method 12 minimap)": [[18, "v0", "connection-minimap"]],
"update-task-masks": [[30, "s5", "connection-minimap"]],
"(method 10 fail-mission)": [[43, "t9", "(function process process)"]],
"restart-mission": [
[8, "v1", "connection"],
[5, "v1", "connection"],
@@ -2700,7 +2681,6 @@
],
"set-fog-height!": [[2, "v1", "(array texture-anim)"]],
"unpack-comp-huf": [[[21, 23], "t3", "(pointer uint16)"]],
"(method 10 elec-gate)": [[13, "t9", "(function process-drawable none)"]],
"(method 11 elec-gate)": [
[180, "a0", "vector"],
[193, "a0", "vector"]
@@ -2723,9 +2703,6 @@
[53, "gp", "process-focusable"]
],
"(event idle bouncer)": [[[120, 127], "v1", "attack-info"]],
"(method 7 conveyor)": [
[12, "t9", "(function process-drawable int process-drawable)"]
],
"(method 27 conveyor)": [
[23, "a0", "connection"],
[24, "a0", "collide-shape"],
@@ -2742,7 +2719,6 @@
],
"(code idle lgconveyor)": [[10, "v1", "art-joint-anim"]],
"(post idle lgconveyor)": [[4, "t9", "(function none)"]],
"(method 7 elevator)": [[14, "t9", "(function base-plat int base-plat)"]],
"elevator-event": [
[23, "v1", "focus"],
[88, "gp", "float"],
@@ -2909,7 +2885,6 @@
[[147, 217], "v1", "mc-status-code"]
],
"memcard-unlocked-secrets?": [[50, "s5", "int"]],
"(method 10 progress)": [[45, "t9", "(function progress none)"]],
"load-game-text-info": [[4, "v1", "game-text-info"]],
"(method 16 camera-master)": [
[[11, 15], "a2", "target"],
@@ -3208,14 +3183,10 @@
"(code target-look-around)": [[21, "v0", "float"]],
"(exit target-swim-stance)": [[51, "v0", "sound-rpc-set-param"]],
"(exit target-swim-down)": [[56, "v0", "sound-rpc-set-param"]],
"(method 7 water-anim)": [[14, "t9", "(function water-anim int water-anim)"]],
"(method 26 water-anim)": [
["_stack_", 16, "res-tag"],
[52, "v0", "(pointer float)"]
],
"(method 7 flow-control)": [
[19, "t9", "(function flow-control int flow-control)"]
],
"water-anim-event-handler": [
[23, "v1", "float"],
[40, "s4", "process"],
@@ -3339,7 +3310,6 @@
[10, "v1", "float"]
],
"(trans idle fma-sphere)": [[39, "a2", "process-drawable"]],
"(method 10 talker)": [[29, "t9", "(function process none)"]],
"(exit active talker)": [[19, "s5", "process-drawable"]],
"(method 11 speech-channel)": [
[66, "v1", "process-drawable"],
@@ -3433,7 +3403,6 @@
[46, "t6", "(pointer grid-hash-word)"]
],
"(method 19 grid-hash)": [[46, "t6", "(pointer uint8)"]],
"(method 15 sphere-hash)": [[5, "v0", "(function grid-hash none)"]],
"(method 32 sphere-hash)": [[107, "v1", "float"]],
"(method 13 carry-info)": [
[14, "v1", "handle"],
@@ -3541,9 +3510,6 @@
"(code die enemy)": [[30, "v1", "art-joint-anim"]],
"(code die-falling enemy)": [[32, "gp", "art-joint-anim"]],
"(code view-anims enemy)": [[20, "s4", "art-joint-anim"]],
"(method 7 enemy)": [
[14, "t9", "(function process-focusable int process-focusable)"]
],
"nav-enemy-chase-post": [[[15, 19], "a0", "process-focusable"]],
"nav-enemy-flee-post": [[[16, 20], "a0", "process-focusable"]],
"nav-enemy-face-focus-post": [[[24, 28], "a0", "process-focusable"]],
@@ -3573,17 +3539,11 @@
[18, "s5", "process-focusable"],
[[35, 40], "s5", "process-focusable"]
],
"(method 32 youngsamos-npc)": [
[61, "t9", "(function process-taskable none)"]
],
"(method 35 pecker-npc)": [
[58, "v1", "art-joint-anim"],
[117, "v1", "art-joint-anim"]
],
"(code idle scene-looper)": [[40, "gp", "handle"]],
"(method 7 rigid-body-platform)": [
[14, "t9", "(function rigid-body-object int rigid-body-object)"]
],
"(method 53 rigid-body-platform)": [[24, "f0", "float"]],
"(method 46 rigid-body-platform)": [
[13, "v1", "rigid-body-control-point"],
@@ -3645,9 +3605,6 @@
[7, "s5", "nav-enemy"],
[32, "a2", "nav-enemy"]
],
"(method 7 battle)": [
[15, "t9", "(function process-drawable int process-drawable)"]
],
"(method 51 battle)": [[[38, 95], "s4", "enemy"]],
"(method 26 battle)": [
[35, "a0", "connection"],
@@ -4406,7 +4363,6 @@
[40, "s5", "process-focusable"],
[13, "s5", "process-focusable"]
],
"(method 132 grunt)": [[16, "t9", "(function nav-enemy none)"]],
"(method 77 flitter)": [
[14, "v1", "art-joint-anim"],
[69, "v1", "art-joint-anim"]
@@ -4428,7 +4384,6 @@
[20, "v1", "art-joint-anim"],
[147, "v1", "art-joint-anim"]
],
"(method 132 flitter)": [[16, "t9", "(function nav-enemy none)"]],
"(code target-tube)": [[33, "v1", "art-joint-anim"]],
"(code target-tube-start)": [[109, "v1", "float"]],
"(event slide-control-ride slide-control)": [
@@ -4590,9 +4545,6 @@
"(code idle hide-light)": [[10, "v1", "art-joint-anim"]],
"(event impact turret-shot)": [[11, "s4", "process-drawable"]],
"(code impact turret-shot)": [[4, "v1", "collide-shape-prim-group"]],
"(method 29 sinking-plat)": [
[9, "t9", "(function rigid-body-platform float none)"]
],
"(code collapse beam)": [[25, "v1", "art-joint-anim"]],
"(code fall ruins-bridge)": [
[16, "v1", "collide-shape-prim-group"],
@@ -4811,7 +4763,6 @@
[40, "v1", "(inline-array tpath-control-frame)"]
],
"(method 31 gun-dummy)": [[40, "v1", "(inline-array tpath-control-frame)"]],
"(method 10 training-manager)": [[51, "t9", "(function process none)"]],
"(trans course training-manager)": [[[22, 493], "gp", "hud"]],
"(code end-course training-manager)": [[28, "gp", "process-drawable"]],
"(method 21 training-manager)": [
@@ -4865,7 +4816,6 @@
[39, "v0", "state"],
[41, "t9", "(function none)"]
],
"(method 10 gem)": [[12, "t9", "(function gem none)"]],
"(method 9 fact-info)": [
[245, "a0", "process-drawable"],
[293, "a0", "process-drawable"],
@@ -4899,7 +4849,6 @@
],
"(method 78 fodder)": [[16, "v1", "art-joint-anim"]],
"(method 181 fodder)": [[2, "v1", "collide-shape-prim-group"]],
"(method 7 fodder)": [[19, "t9", "(function nav-enemy int nav-enemy)"]],
"(post idle fodder)": [[4, "t9", "(function none)"]],
"(method 180 fodder)": [[24, "s1", "fodder"]],
"(method 55 fodder)": [[29, "s5", "process-drawable"]],
@@ -5044,9 +4993,6 @@
[175, "s5", "process-drawable"],
[[104, 219], "gp", "handle"]
],
"(method 10 hoverboard-training-manager)": [
[19, "t9", "(function process none)"]
],
"(code fire skatea-jump-pad)": [[59, "t9", "(function none)"]],
"(method 29 hoverboard-training-manager)": [[[18, 491], "gp", "hud-goal"]],
"hoverboard-training-manager-event-handler": [
@@ -5139,10 +5085,6 @@
[48, "s2", "amphibian-joint-mod"],
[49, "v1", "amphibian"]
],
"(method 7 hopper)": [
[14, "t9", "(function process-focusable int process-focusable)"]
],
"(method 132 hopper)": [[16, "t9", "(function enemy none)"]],
"(code active hopper)": [[22, "v1", "art-joint-anim"]],
"(trans hostile hopper)": [
[24, "gp", "process-focusable"],
@@ -5160,9 +5102,6 @@
[33, "a1", "art-joint-anim"],
[86, "a1", "art-joint-anim"]
],
"(method 7 metalmonk)": [
[14, "t9", "(function process-focusable int process-focusable)"]
],
"(method 87 metalmonk)": [[27, "s5", "art-joint-anim"]],
"(method 104 metalmonk)": [
[14, "a0", "process-focusable"],
@@ -5208,7 +5147,6 @@
[16, "a0", "process-focusable"],
[19, "a0", "process-focusable"]
],
"(method 10 ginsu)": [[6, "t9", "(function sparticle-launch-control none)"]],
"(code victory centurion)": [[30, "v1", "art-joint-anim"]],
"(code fire centurion)": [
[22, "a0", "process-focusable"],
@@ -5241,9 +5179,6 @@
[87, "a0", "process-focusable"],
[90, "a0", "process-focusable"]
],
"(method 7 centurion)": [
[14, "t9", "(function process-focusable int process-focusable)"]
],
"(method 78 centurion)": [
[18, "v1", "art-joint-anim"],
[53, "s4", "art-joint-anim"],
@@ -5264,11 +5199,6 @@
[28, "s0", "process-focusable"],
[49, "s0", "process-focusable"]
],
"(method 132 centurion)": [[13, "t9", "(function enemy none)"]],
"(method 31 centurion-shot)": [[7, "t9", "(function projectile none)"]],
"(method 28 centurion-shot)": [
[49, "t9", "(function projectile projectile-options sound-id)"]
],
"(method 74 centurion)": [
[76, "v1", "attack-info"],
[78, "v1", "attack-info"],
@@ -5333,9 +5263,6 @@
[139, "gp", "process-focusable"],
[293, "a0", "process-focusable"]
],
"(method 7 rhino)": [
[14, "t9", "(function process-focusable int process-focusable)"]
],
"(method 74 rhino)": [[68, "s2", "process-focusable"]],
"(method 182 rhino)": [[36, "s2", "process-drawable"]],
"(exit victory rhino)": [
@@ -5398,9 +5325,6 @@
"(code spin-kick grenadier)": [[14, "v1", "art-joint-anim"]],
"(enter spin-kick grenadier)": [[29, "v1", "collide-shape-prim-group"]],
"(code backup grenadier)": [[10, "v1", "art-joint-anim"]],
"(method 7 grenadier)": [
[21, "t9", "(function process-focusable int process-focusable)"]
],
"(method 70 grenadier)": [[41, "a0", "process-focusable"]],
"(code active grenadier)": [
[140, "v1", "art-joint-anim"],
@@ -5447,9 +5371,6 @@
[32, "a0", "process-focusable"],
[35, "a0", "process-focusable"]
],
"(method 7 rapid-gunner)": [
[14, "t9", "(function process-focusable int process-focusable)"]
],
"(exit spin-attack rapid-gunner)": [[13, "v1", "collide-shape-prim-group"]],
"(post spin-attack rapid-gunner)": [
[24, "a0", "process-focusable"],
@@ -5583,9 +5504,6 @@
[123, "v1", "art-joint-anim"],
[155, "v1", "art-joint-anim"]
],
"(method 7 predator)": [
[9, "t9", "(function process-focusable int process-focusable)"]
],
"(method 184 predator)": [
[67, "s2", "process-focusable"],
[79, "a0", "process-focusable"],
@@ -5675,9 +5593,6 @@
[21, "v1", "collide-shape-prim-group"]
],
"(method 201 crimson-guard-level)": [[18, "s3", "process-focusable"]],
"(method 7 crimson-guard-level)": [
[19, "t9", "(function nav-enemy int nav-enemy)"]
],
"(method 115 crimson-guard-level)": [[33, "v0", "vector"]],
"(method 198 crimson-guard-level)": [[242, "s4", "collide-shape-prim"]],
"(enter broken dig-clasp)": [
@@ -5693,9 +5608,6 @@
"(method 23 dig-digger)": [[[1, 23], "s5", "int"]],
"(enter breaking fort-fence)": [[[5, 9], "a0", "collide-shape-prim-group"]],
"(method 11 fort-elec-switch)": [["_stack_", 16, "res-tag"]],
"(method 10 fort-roboscreen)": [
[15, "t9", "(function process-drawable none)"]
],
"fort-robotank-reticle-handler": [
[6, "v1", "vector"],
[[17, 34], "s5", "vector"],
@@ -5728,7 +5640,6 @@
[89, "t9", "(function fort-robotank none)"]
],
"(method 7 fort-robotank)": [
[89, "t9", "(function process-drawable int process-drawable)"],
[56, "gp", "(pointer uint32)"],
[59, "a1", "(pointer uint32)"],
[63, "gp", "(pointer uint32)"],
@@ -5762,26 +5673,17 @@
"(enter die fort-missile-target)": [
[[2, 5], "v1", "collide-shape-prim-group"]
],
"(method 10 fort-missile-target)": [
[10, "t9", "(function process-drawable none)"]
],
"(code die fort-missile)": [
[156, "v1", "process-drawable"],
[227, "v1", "collide-shape-prim-group"],
[229, "v1", "collide-shape-prim-group"]
],
"(method 7 fort-missile)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"birth-func-dig-digger-collide": [
[8, "v1", "process"],
[12, "s3", "process-drawable"]
],
"(method 23 dig-tether)": [[69, "v1", "vector"]],
"(method 11 dig-digger)": [["_stack_", 16, "res-tag"]],
"(method 29 dig-sinking-plat)": [
[9, "t9", "(function rigid-body-platform float none)"]
],
"(method 37 dig-sinking-plat)": [
[28, "v1", "art-joint-anim"],
[157, "v1", "art-joint-anim"],
@@ -5808,9 +5710,6 @@
],
"(code fire dig-jump-pad)": [[59, "t9", "(function none)"]],
"(code die dig-spikey-sphere)": [[72, "t9", "(function none)"]],
"(method 29 dig-tipping-rock)": [
[9, "t9", "(function rigid-body-platform float none)"]
],
"(event waiting dig-stomp-block)": [[14, "v1", "attack-info"]],
"(method 37 dig-stomp-block)": [
[[42, 62], "v1", "collide-cache-tri"],
@@ -5819,7 +5718,6 @@
"(method 11 dig-spikey-step)": [[96, "v0", "(pointer float)"]],
"(method 37 dig-tipping-rock)": [[14, "v0", "sound-rpc-set-param"]],
"(method 49 cpad-elevator)": [[2, "v1", "collide-shape-prim-group"]],
"(method 10 cpad-elevator)": [[10, "t9", "(function elevator none)"]],
"(code hunt wren)": [[10, "v1", "art-joint-anim"]],
"(code peck wren)": [
[36, "v1", "art-joint-anim"],
@@ -5830,9 +5728,6 @@
[82, "v1", "art-joint-anim"]
],
"(code land wren)": [[17, "v1", "art-joint-anim"]],
"(method 7 wren)": [
[30, "t9", "(function process-drawable int process-drawable)"]
],
"(code idle minnow)": [[10, "v1", "art-joint-anim"]],
"(post idle fish-manager)": [
[517, "v1", "process-drawable"],
@@ -5845,9 +5740,6 @@
[112, "s2", "entity-actor"],
[93, "s2", "basic"]
],
"(method 3 engine-minimap)": [
[7, "t9", "(function engine-minimap engine-minimap)"]
],
"(method 24 minimap)": [
[189, "s2", "connection-minimap"],
[194, "s2", "connection-minimap"],
@@ -5985,9 +5877,6 @@
],
"(method 137 sew-gunturret)": [[[19, 23], "a0", "process-focusable"]],
"(method 138 sew-gunturret)": [[[15, 19], "a0", "process-focusable"]],
"(method 140 pal-gun-turret)": [
[9, "t9", "(function sew-gunturret symbol none)"]
],
"(anon-function 0 sewer-scenes)": [[79, "v1", "float"]],
"(event idle sew-single-blade)": [[15, "s4", "process-focusable"]],
"(event idle sew-multi-blade)": [[15, "s4", "process-focusable"]],
@@ -5997,11 +5886,7 @@
"sew-tri-blade-joint-callback": [[[1, 82], "gp", "sew-tri-blade"]],
"(method 49 sew-elevator)": [[2, "v1", "collide-shape-prim-group"]],
"(post running sew-elevator)": [[4, "t9", "(function none)"]],
"(method 10 sew-elevator)": [[10, "t9", "(function elevator none)"]],
"(event idle sew-valve)": [[4, "v1", "attack-info"]],
"(method 7 sew-valve)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"sew-mar-statue-debris-init-by-other": [
[[144, 157], "gp", "process-drawable"]
],
@@ -6078,9 +5963,6 @@
"(event idle grunt-egg)": [[16, "s4", "process-focusable"]],
"strip-handler": [[15, "s4", "process-focusable"]],
"(post idle pitspikes)": [[4, "t9", "(function none)"]],
"(method 7 pitspikes)": [
[14, "t9", "(function strip-hazard int strip-hazard)"]
],
"(post idle curtainsaw)": [[4, "t9", "(function none)"]],
"(event impact grenade)": [
[11, "s4", "process-drawable"],
@@ -6110,12 +5992,6 @@
[169, "v1", "float"],
[[118, 125], "s5", "traffic-object-spawn-params"]
],
"(method 33 citizen-norm-rider)": [
[7, "t9", "(function vehicle-rider none)"]
],
"(method 33 crimson-guard-rider)": [
[7, "t9", "(function vehicle-rider none)"]
],
"(enter explode vehicle)": [[298, "v1", "joint-exploder"]],
"(method 47 vehicle)": [
[27, "s0", "process-focusable"],
@@ -6128,7 +6004,6 @@
],
"(method 97 vehicle)": [[6, "v1", "float"]],
"(method 18 vehicle-controller)": [[231, "s2", "vehicle"]],
"(method 10 vehicle)": [[12, "t9", "(function rigid-body-object none)"]],
"(method 119 vehicle)": [[[19, 45], "s4", "vehicle-rider"]],
"(method 99 vehicle)": [[14, "s3", "collide-shape-prim-group"]],
"(method 100 vehicle)": [[163, "a0", "vector"]],
@@ -6313,7 +6188,6 @@
[457, "a0", "(array float)"]
],
"(code idle tomb-spider)": [[[1, 9], "v1", "(pointer process)"]],
"(method 10 tomb-sphinx)": [[10, "t9", "(function process-drawable none)"]],
"tomb-stair-block-spikes-init-by-other": [
[53, "s2", "pair"],
[72, "s2", "pair"],
@@ -6329,9 +6203,6 @@
"(event idle tomb-stair-block-spikes)": [[24, "v1", "vector"]],
"(code moving tomb-stair-block)": [[40, "v1", "art-joint-anim"]],
"(post running tomb-elevator)": [[8, "t9", "(function none)"]],
"(method 10 tomb-plat-return)": [
[10, "t9", "(function process-drawable none)"]
],
"lift-pool": [
[12, "v0", "(pointer actor-group)"],
["_stack_", 16, "res-tag"]
@@ -6618,9 +6489,6 @@
"(code die-falling ashelin)": [[108, "gp", "art-joint-anim"]],
"(anon-function 0 ash1-course)": [[31, "v1", "asht-wait-spot"]],
"ashelin-shot-move": [[49, "v1", "(state ashelin)"]],
"(method 28 ashelin-shot)": [
[47, "t9", "(function projectile projectile-options none)"]
],
"(method 30 ashelin-shot)": [[119, "a0", "ashelin"]],
"(anon-function 2 ash1-course)": [[50, "v1", "asht-wait-spot"]],
"(anon-function 7 ash1-course)": [[90, "v1", "asht-wait-spot"]],
@@ -6684,10 +6552,6 @@
[288, "v1", "art-joint-anim"],
[143, "v1", "lightning-tracker"]
],
"(method 10 whack-a-metal)": [[24, "t9", "(function process none)"]],
"(method 7 whack-a-metal)": [
[26, "t9", "(function process-drawable int process-drawable)"]
],
"(method 27 whack-a-metal)": [
[69, "a1", "hip-mole"],
[78, "a1", "hip-mole"],
@@ -6757,9 +6621,6 @@
[27, "a0", "process-focusable"],
[83, "a1", "art-joint-anim"]
],
"(method 7 juicer)": [
[19, "t9", "(function process-focusable int process-focusable)"]
],
"(method 184 juicer)": [[4, "v1", "collide-shape-prim-group"]],
"(code circling juicer)": [
[228, "gp", "art-joint-anim"],
@@ -6799,9 +6660,6 @@
[284, "a0", "process-focusable"]
],
"(method 25 juicer-shot)": [[131, "a1", "int"]],
"(method 7 spyder)": [
[31, "t9", "(function process-focusable int process-focusable)"]
],
"(code attack spyder)": [
[116, "a0", "process-focusable"],
[119, "a0", "process-focusable"],
@@ -6822,7 +6680,6 @@
[17, "a0", "process-focusable"],
[20, "a0", "process-focusable"]
],
"(method 31 spyder-shot)": [[7, "t9", "(function projectile none)"]],
"(code backup spyder)": [[22, "v1", "art-joint-anim"]],
"(trans hostile spyder)": [
[20, "a0", "process-focusable"],
@@ -6901,9 +6758,6 @@
[23, "a0", "process-focusable"],
[26, "a0", "process-focusable"]
],
"(method 7 mammoth)": [
[26, "t9", "(function process-focusable int process-focusable)"]
],
"(code waiting mammoth)": [[41, "v1", "art-joint-anim"]],
"(code wait-to-walk mammoth)": [[18, "v1", "art-joint-anim"]],
"(code walking mammoth)": [[74, "a1", "art-joint-anim"]],
@@ -6933,9 +6787,6 @@
[19, "s0", "mammoth"],
[3, "v1", "int"]
],
"(method 28 flying-spider-shot)": [
[27, "t9", "(function projectile projectile-options sound-id)"]
],
"(code active flying-spider)": [[10, "v1", "art-joint-anim"]],
"(code ambush flying-spider)": [[14, "v1", "art-joint-anim"]],
"(code ambush-falling flying-spider)": [
@@ -6985,10 +6836,6 @@
[52, "v1", "art-joint-anim"],
[82, "v1", "art-joint-anim"]
],
"(method 10 slider)": [[10, "t9", "(function process-drawable none)"]],
"(method 7 slider)": [
[26, "t9", "(function process-drawable int process-drawable)"]
],
"(event idle slider)": [
[31, "s3", "process-focusable"],
[34, "s3", "process-focusable"]
@@ -7050,7 +6897,6 @@
[69, "v1", "float"],
[257, "v1", "float"]
],
"(method 10 spydroid)": [[14, "t9", "(function process-focusable none)"]],
"(trans hostile spydroid)": [
[29, "a0", "process-focusable"],
[32, "a0", "process-focusable"]
@@ -7097,22 +6943,12 @@
"(event idle widow-bomb)": [[77, "v1", "float"]],
"(exit idle widow-bomb)": [[15, "v1", "float"]],
"(trans idle widow-bomb)": [[262, "v1", "float"]],
"(method 10 widow-bomb)": [[42, "t9", "(function process-drawable none)"]],
"(method 7 widow-bomb)": [
[39, "t9", "(function process-drawable int process-drawable)"]
],
"tomb-boss-pillar-shrink-collision": [
[2, "v1", "collide-shape-prim-group"],
[7, "v1", "collide-shape-prim-group"]
],
"(enter broken tomb-boss-pillar)": [[17, "v1", "art-joint-anim"]],
"(enter idle tomb-boss-pillar)": [[2, "v1", "collide-shape-prim-group"]],
"(method 10 tomb-boss-pillar)": [
[14, "t9", "(function process-drawable none)"]
],
"(method 7 tomb-boss-pillar)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(event idle tomb-boss-firepot)": [
[10, "gp", "widow-shot"],
[15, "v1", "attack-info"],
@@ -7213,10 +7049,6 @@
[57, "gp", "process-focusable"]
],
"(method 34 transport)": [[22, "v1", "vehicle-turret"]],
"(method 10 transport)": [[10, "t9", "(function process-drawable none)"]],
"(method 7 vehicle-turret)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(method 29 vehicle-turret)": [
[14, "s5", "process-drawable"],
[26, "s5", "process-drawable"]
@@ -7355,13 +7187,6 @@
],
"(event idle drill-control-panel)": [[4, "v1", "attack-info"]],
"(code waiting drill-elevator)": [[14, "v1", "art-joint-anim"]],
"(method 10 drill-elevator)": [
[10, "t9", "(function process-drawable none)"]
],
"(method 7 fire-floor)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(method 10 fire-floor)": [[17, "t9", "(function process-drawable none)"]],
"(event idle fire-floor)": [
[18, "gp", "process-focusable"],
[51, "gp", "process-focusable"],
@@ -7382,17 +7207,16 @@
[14, "v1", "art-joint-anim"],
[118, "v1", "art-joint-anim"]
],
"(post running drill-lift)": [
[16, "v0", "state"],
[18, "t9", "(function none)"]
],
"(post running drill-elevator)": [[4, "t9", "(function none)"]],
"(method 11 drill-laser)": [
["_stack_", 16, "res-tag"],
[42, "v0", "(pointer float)"]
],
"(method 49 drill-lift)": [[2, "v1", "collide-shape-prim-group"]],
"(post running drill-lift)": [
[16, "v0", "state"],
[18, "t9", "(function none)"]
],
"(exit running drill-lift)": [[22, "v0", "state"]],
"(code idle drill-moving-staircase)": [[10, "v1", "art-joint-anim"]],
"(post idle drill-moving-staircase)": [[4, "t9", "(function none)"]],
"(code swing-up drill-flip-step)": [[10, "v1", "art-joint-anim"]],
@@ -7436,9 +7260,6 @@
[1, "v1", "(pointer race-ring)"]
],
"(method 11 under-shoot-block)": [["_stack_", 16, "res-tag"]],
"(method 10 under-shoot-block)": [
[62, "t9", "(function process-drawable none)"]
],
"under-block-event-handler": [
[23, "gp", "attack-info"],
[28, "gp", "attack-info"],
@@ -7457,7 +7278,6 @@
[30, "v1", "collide-shape-prim-group"]
],
"(event idle under-break-door)": [[13, "v1", "attack-info"]],
"(method 10 under-lift)": [[10, "t9", "(function process-drawable none)"]],
"(event waiting under-buoy-plat)": [[4, "v1", "attack-info"]],
"(trans idle under-buoy-chain)": [[6, "v1", "process-drawable"]],
"(code idle under-warp)": [[38, "v1", "art-joint-anim"]],
@@ -7476,9 +7296,6 @@
[74, "v0", "(pointer float)"],
["_stack_", 16, "res-tag"]
],
"(method 29 under-buoy-plat)": [
[9, "t9", "(function rigid-body-object float none)"]
],
"(method 49 under-lift)": [[2, "v1", "collide-shape-prim-group"]],
"(post running under-lift)": [[4, "t9", "(function none)"]],
"(code ambush pipe-grunt)": [[23, "a1", "art-joint-anim"]],
@@ -7694,9 +7511,6 @@
[88, "gp", "process-focusable"],
[119, "gp", "process-focusable"]
],
"(method 7 cty-guard-turret)": [
[24, "t9", "(function process-focusable int process-focusable)"]
],
"(method 21 parking-spot)": [[[13, 38], "s5", "vehicle"]],
"(event idle propa)": [
[[12, 15], "v1", "attack-info"],
@@ -7710,9 +7524,6 @@
[26, "a0", "collide-shape"],
[32, "s0", "process-focusable"]
],
"(method 7 barons-ship-lores)": [
[24, "t9", "(function process-drawable int process-drawable)"]
],
"(event idle ctyn-lamp)": [[4, "a0", "process-drawable"]],
"fruit-check-ground-bounce": [[[5, 40], "v1", "fruit-stand"]],
"fruit-stand-event-handler": [[[5, 8], "v1", "attack-info"]],
@@ -7725,17 +7536,6 @@
"tanker-deadly-init-by-other": [[70, "v1", "process-drawable"]],
"(post idle vin-turbine)": [[205, "a0", "lightning-tracker"]],
"(method 49 com-elevator)": [[2, "v1", "collide-shape-prim-group"]],
"(enter dormant com-elevator)": [
[4, "v0", "state"],
[6, "t9", "(function none)"]
],
"(method 10 com-elevator)": [[10, "t9", "(function elevator none)"]],
"(method 10 tomb-trans-elevator)": [
[10, "t9", "(function com-elevator none)"]
],
"(method 33 tomb-trans-elevator)": [
[7, "t9", "(function com-elevator none)"]
],
"(anon-function 4 ctypower)": [[137, "gp", "process-drawable"]],
"(anon-function 0 ctypower)": [
[19, "a0", "vector"],
@@ -7751,9 +7551,6 @@
[6, "t9", "(function none)"]
],
"(code idle intro-flamer)": [[18, "v1", "art-joint-anim"]],
"(method 7 metalhead-spawner)": [
[26, "t9", "(function process int process)"]
],
"(event idle farm-marrow)": [[[8, 11], "a1", "attack-info"]],
"(event idle farm-beetree)": [[[8, 11], "a1", "attack-info"]],
"(event idle farm-cabbage)": [[[8, 11], "a1", "attack-info"]],
@@ -7837,7 +7634,6 @@
[63, "v1", "art-joint-anim"],
[134, "v1", "art-joint-anim"]
],
"(method 10 stad-samos)": [[42, "t9", "(function process-focusable none)"]],
"(method 29 stad-force-field)": [
[155, "v1", "process-drawable"],
[418, "v1", "process-drawable"],
@@ -7856,10 +7652,6 @@
"(event idle stad-force-field)": [[[9, 12], "v1", "attack-info"]],
"(post idle stad-keira)": [[14, "v0", "vector"]],
"(post idle stad-brutter)": [[14, "v0", "vector"]],
"(method 10 rift-rider)": [[10, "t9", "(function rigid-body-object none)"]],
"(method 45 rift-rider)": [
[30, "t9", "(function rigid-body-object rigid-body-impact none)"]
],
"(code fall pal-falling-plat)": [
[10, "v1", "art-joint-anim"],
[70, "v1", "art-joint-anim"]
@@ -7869,9 +7661,6 @@
[20, "v0", "vector"],
[263, "s2", "collide-shape-prim-sphere"]
],
"(method 10 fort-elec-belt-inst)": [
[10, "t9", "(function process-drawable none)"]
],
"(method 11 fort-elec-belt)": [[20, "v0", "(pointer float)"]],
"(method 10 rigid-body-queue)": [
[[124, 134], "a0", "rigid-body-object"],
@@ -7879,7 +7668,6 @@
[20, "a0", "rigid-body-object"]
],
"(method 15 hud)": [[[125, 128], "v1", "dma-packet"]],
"(method 10 cas-conveyor)": [[10, "t9", "(function conveyor none)"]],
"(post idle cas-conveyor)": [
[58, "t9", "(function none)"],
[45, "v1", "float"]
@@ -7893,7 +7681,6 @@
[15, "v0", "sound-rpc-set-param"]
],
"(post arrived cas-elevator)": [[11, "t9", "(function none)"]],
"(method 10 cas-elevator)": [[10, "t9", "(function elevator none)"]],
"(code idle cas-rot-bridge)": [
[40, "v1", "art-joint-anim"],
[98, "v1", "art-joint-anim"],
@@ -7912,24 +7699,13 @@
"(event idle cas-trapdoor)": [[10, "gp", "attack-info"]],
"(code drop cas-chain-plat)": [[10, "v1", "art-joint-anim"]],
"(event idle cas-rot-blade)": [[7, "s4", "touching-shapes-entry"]],
"(method 10 cas-rot-blade)": [[10, "t9", "(function process-drawable none)"]],
"(code spawning cas-robot-door)": [
[27, "v1", "art-joint-anim"],
[417, "v1", "art-joint-anim"]
],
"(enter ambush roboguard-level)": [
[4, "v0", "state"],
[6, "t9", "(function none)"],
[[72, 76], "a0", "process-focusable"]
],
"(enter idle roboguard-level)": [
[4, "v0", "state"],
[6, "t9", "(function none)"]
],
"(enter stare roboguard-level)": [
[4, "v0", "state"],
[6, "t9", "(function none)"]
],
"(code roll-enter roboguard-level)": [[10, "v1", "art-joint-anim"]],
"(trans roll-hostile roboguard-level)": [
[120, "gp", "process-focusable"],
@@ -7938,10 +7714,6 @@
],
"(code roll-to-walk roboguard-level)": [[10, "v1", "art-joint-anim"]],
"(code idle-dizzy roboguard-level)": [[14, "v1", "art-joint-anim"]],
"(enter die roboguard-level)": [
[4, "v0", "state"],
[6, "t9", "(function none)"]
],
"(method 185 roboguard-level)": [
[[5, 28], "v1", "collide-shape-prim-group"],
[[42, 65], "v1", "collide-shape-prim-group"],
@@ -7960,10 +7732,6 @@
[42, "s1", "process-drawable"],
[58, "s1", "process-drawable"]
],
"(method 10 roboguard-level)": [[10, "t9", "(function nav-enemy none)"]],
"(method 7 roboguard-level)": [
[9, "t9", "(function nav-enemy int nav-enemy)"]
],
"(code castle-wait-end cas-robot-door)": [[32, "v1", "art-joint-anim"]],
"(method 11 cas-robot-door)": [
["_stack_", 16, "res-tag"],
@@ -7993,7 +7761,6 @@
],
"(code hostile bombbot)": [[11, "v1", "art-joint-anim"]],
"(code die bombbot)": [[11, "v1", "art-joint-anim"]],
"(method 7 bombbot)": [[31, "t9", "(function nav-enemy int nav-enemy)"]],
"(anon-function 8 bombbot)": [[17, "s2", "bombbot"]],
"(anon-function 1 bombbot)": [[15, "s4", "bombbot"]],
"bombbot-callback": [[[2, 190], "s4", "bombbot"]],
@@ -8007,7 +7774,6 @@
"(method 11 cas-switch)": [["_stack_", 16, "res-tag"]],
"(method 11 cas-conveyor)": [["_stack_", 16, "res-tag"]],
"(method 11 cas-conveyor-switch)": [["_stack_", 16, "res-tag"]],
"(method 7 hover-formation)": [[19, "t9", "(function basic int basic)"]],
"(method 11 hover-formation-control)": [[38, "s3", "process-focusable"]],
"(method 16 hover-formation-control)": [[25, "s3", "process-focusable"]],
"(method 13 hover-formation-control)": [
@@ -8030,7 +7796,6 @@
[49, "a0", "(pointer int32)"],
[51, "a0", "(array object)"]
],
"(method 7 nav-graph-editor)": [[9, "t9", "(function process int none)"]],
"(method 18 traffic-tracker)": [
[[8, 12], "a1", "handle"],
[[11, 19], "a0", "handle"]
@@ -8061,15 +7826,9 @@
[254, "v1", "mysql-nav-edge"]
],
"(method 11 city-level-info)": [[27, "a3", "(pointer int8)"]],
"(method 36 bike-base)": [[7, "t9", "(function object none)"]],
"(method 85 bike-base)": [
[7, "t9", "(function object none)"],
[[22, 26], "v1", "(pointer uint128)"]
],
"(method 7 bikea)": [[44, "t9", "(function object int bikea)"]],
"(method 7 bikeb)": [[49, "t9", "(function object int bikeb)"]],
"(method 7 bikec)": [[64, "t9", "(function object int bikec)"]],
"(method 7 guard-bike)": [[14, "t9", "(function object int guard-bike)"]],
"target-pilot-exit": [[64, "gp", "vehicle"]],
"target-pilot-init": [
[[61, 68], "s4", "vehicle"],
@@ -8104,10 +7863,6 @@
[[28, 33], "a0", "vehicle"],
[103, "a0", "process"]
],
"(method 7 cara)": [[54, "t9", "(function object object cara)"]],
"(method 7 carb)": [[39, "t9", "(function object object carb)"]],
"(method 7 carc)": [[44, "t9", "(function object object carb)"]],
"(method 7 hellcat)": [[14, "t9", "(function object object hellcat)"]],
"(code in-ditch citizen)": [
[23, "v1", "art-joint-anim"],
[122, "v1", "art-joint-anim"]
@@ -8289,9 +8044,6 @@
[450, "v1", "process-focusable"]
],
"(code get-up-front crimson-guard)": [[20, "v1", "art-joint-anim"]],
"(method 7 crimson-guard)": [
[19, "t9", "(function process-drawable int process-drawable)"]
],
"(code attack crimson-guard)": [
[351, "a0", "process-focusable"],
[380, "v1", "art-joint-anim"],
@@ -8462,9 +8214,6 @@
[66, "v0", "vector"],
[56, "gp", "process-focusable"]
],
"(method 7 metalhead-predator)": [
[9, "t9", "(function process-drawable int process-drawable)"]
],
"(method 205 metalhead-predator)": [[4, "v1", "collide-shape-prim-group"]],
"(code close-attack metalhead-predator)": [
[15, "v1", "art-joint-anim"],
@@ -8631,15 +8380,7 @@
"hover-enemy-manager-post": [
[6, "t9", "(function hover-formation-control none)"]
],
"(method 7 hover-enemy-manager)": [
[21, "t9", "(function process int process)"]
],
"(method 35 turret)": [[55, "t9", "(function base-turret none)"]],
"(enter die turret)": [[11, "v0", "(state base-turret)"]],
"(exit active turret)": [[4, "v0", "(state base-turret)"]],
"(post active turret)": [
[4, "v0", "(state base-turret)"],
[6, "t9", "(function none)"],
[112, "v0", "int"],
[134, "v0", "int"],
[157, "v0", "int"]
@@ -8667,8 +8408,7 @@
"(method 78 wasp)": [[11, "v1", "art-joint-anim"]],
"(trans hostile wasp)": [[36, "v1", "art-joint-anim"]],
"(method 52 wasp)": [
[21, "a1", "process-focusable"],
[99, "t9", "(function enemy vector none)"]
[21, "a1", "process-focusable"]
],
"(method 115 crimson-guard-hover)": [
["_stack_", 16, "res-tag"],
@@ -8680,59 +8420,33 @@
[162, "v0", "(pointer float)"],
[188, "v0", "(pointer float)"]
],
"(enter flying-death crimson-guard-hover)": [
[4, "v0", "(state hover-enemy)"]
],
"(code knocked-recover crimson-guard-hover)": [[20, "v1", "art-joint-anim"]],
"(code attack crimson-guard-hover)": [[56, "v1", "art-joint-anim"]],
"(trans hostile crimson-guard-hover)": [[22, "gp", "process-focusable"]],
"(enter flying-death-explode crimson-guard-hover)": [
[4, "v0", "(state hover-enemy)"]
],
"(post notice crimson-guard-hover)": [[4, "t9", "(function none)"]],
"(post ambush-attack crimson-guard-hover)": [[66, "t9", "(function none)"]],
"(code flying-death crimson-guard-hover)": [
[17, "v1", "art-joint-anim"],
[70, "v1", "art-joint-anim"]
],
"(enter knocked crimson-guard-hover)": [[4, "v0", "(state hover-enemy)"]],
"(post kick-attack crimson-guard-hover)": [
[34, "a0", "process-focusable"],
[37, "a0", "process-focusable"]
],
"(post notice crimson-guard-hover)": [[4, "t9", "(function none)"]],
"(post ambush-attack crimson-guard-hover)": [[66, "t9", "(function none)"]],
"(code ambush-attack crimson-guard-hover)": [[37, "v1", "art-joint-anim"]],
"(trans ambush-fly crimson-guard-hover)": [[47, "gp", "process-focusable"]],
"(method 74 crimson-guard-hover)": [
[9, "v1", "attack-info"],
[
124,
"t9",
"(function enemy process int symbol event-message-block object)"
],
[131, "a0", "symbol"],
[132, "v1", "process-focusable"],
[135, "v1", "process-focusable"],
[
170,
"t9",
"(function enemy process int symbol event-message-block object)"
],
[
182,
"t9",
"(function enemy process int symbol event-message-block object)"
]
[135, "v1", "process-focusable"]
],
"(method 162 crimson-guard-hover)": [
[31, "a0", "process-focusable"],
[34, "a0", "process-focusable"]
],
"(method 52 crimson-guard-hover)": [
[21, "a1", "process-focusable"],
[99, "t9", "(function hover-enemy vector none)"]
],
"(method 135 crimson-guard-hover)": [
[34, "t9", "(function enemy int sound-id)"]
[21, "a1", "process-focusable"]
],
"(method 77 crimson-guard-hover)": [
[19, "v1", "art-joint-anim"],
@@ -8744,9 +8458,6 @@
[64, "v1", "art-joint-anim"],
[95, "v1", "art-joint-anim"]
],
"(method 7 flamer)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(method 74 flamer)": [[78, "v1", "vector"]],
"(trans hostile flamer)": [
[20, "a0", "process-focusable"],
@@ -8784,7 +8495,6 @@
[47, "a0", "list-node"]
],
"(method 13 hover-nav-control)": [["_stack_", 144, "float"]],
"(method 10 jellyfish)": [[10, "t9", "(function process-drawable none)"]],
"(code grab-mech jellyfish)": [
[48, "v1", "art-joint-anim"],
[155, "v1", "art-joint-anim"],
@@ -8836,14 +8546,10 @@
[28, "v1", "drill-barons-ship"]
],
"drill-barons-ship-explode-init-by-other": [[25, "a0", "process-drawable"]],
"(method 31 drill-ship-shot)": [[7, "t9", "(function guard-shot none)"]],
"drill-barons-ship-turret-init-by-other": [
[117, "a0", "drill-barons-ship"],
[126, "v1", "drill-barons-ship"]
],
"(method 7 drill-barons-ship-turret)": [
[30, "t9", "(function process-drawable int process-drawable)"]
],
"(trans going-down drill-barons-ship-turret)": [
[9, "a1", "drill-barons-ship"],
[14, "v1", "drill-barons-ship"],
@@ -8885,9 +8591,6 @@
["_stack_", 16, "res-tag"]
],
"(post running cboss-elevator)": [[4, "t9", "(function none)"]],
"(method 10 cboss-elevator)": [
[10, "t9", "(function process-drawable none)"]
],
"(method 77 krew-boss)": [[45, "v1", "art-joint-anim"]],
"(method 78 krew-boss)": [[28, "v1", "art-joint-anim"]],
"(method 74 krew-boss-clone)": [[98, "v1", "art-joint-anim"]],
@@ -8898,7 +8601,6 @@
[69, "v1", "art-joint-anim"]
],
"(enter die krew-boss-clone)": [[86, "v1", "collectable"]],
"(method 31 krew-boss-shot)": [[7, "t9", "(function projectile none)"]],
"(code die krew-boss)": [[41, "v1", "art-joint-anim"]],
"(trans hostile krew-boss)": [
[14, "a0", "process-focusable"],
@@ -9536,10 +9238,6 @@
[41, "v1", "race-mesh-slice"],
[45, "v1", "race-path-edge-info"]
],
"(method 7 vehicle-race-bike)": [
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(method 10 race-manager)": [[30, "t9", "(function process none)"]],
"(method 18 race-state)": [[111, "a3", "process-drawable"]],
"(method 11 race-state)": [
[131, "s5", "process-focusable"],
@@ -9557,7 +9255,6 @@
"(method 21 race-manager)": [[127, "s2", "race-racer-info"]],
"(code fall pal-flip-step)": [[10, "v1", "art-joint-anim"]],
"(method 11 pal-flip-step)": [[121, "v1", "art-joint-anim"]],
"(method 10 pal-rot-gun)": [[13, "t9", "(function process-drawable none)"]],
"(event idle pal-electric-fan)": [
[29, "gp", "process-focusable"],
[67, "gp", "process-focusable"]
@@ -9596,9 +9293,6 @@
[64, "v1", "art-joint-anim"],
[116, "v1", "art-joint-anim"]
],
"(method 10 forest-youngsamos)": [
[40, "t9", "(function process-focusable none)"]
],
"forest-youngsamos-bounce-reaction": [[18, "v0", "(array sound-name)"]],
"defend-stadium-rift-rider-handler": [
[96, "s4", "process-drawable"],
@@ -9613,7 +9307,6 @@
["_stack_", 16, "res-tag"],
["_stack_", 32, "res-tag"]
],
"(method 7 hosehead)": [[31, "t9", "(function process-drawable int none)"]],
"(code debug-control hosehead)": [[20, "v1", "art-joint-anim"]],
"(code notice hosehead)": [
[33, "v1", "art-joint-anim"],
+2 -2
View File
@@ -2023,8 +2023,8 @@ void DrawableInlineArrayActor::read_from_file(TypedRef ref,
void CollideHash::read_from_file(TypedRef ref,
const decompiler::DecompilerTypeSystem& dts,
level_tools::DrawStats* stats,
GameVersion version) {
level_tools::DrawStats* /*stats*/,
GameVersion /*version*/) {
num_items = read_plain_data_field<uint32_t>(ref, "num-items", dts);
item_array = deref_label(get_field_ref(ref, "item-array", dts));
}
+70 -6
View File
@@ -138,6 +138,8 @@ std::optional<TP_Type> try_get_type_symbol_val(const std::string& name,
return TP_Type::make_run_function_in_process_function();
} else if (name == "set-to-run" && env.func->name() != "enter-state") {
return TP_Type::make_set_to_run_function();
} else if (name == "find-parent-method") {
return TP_Type::make_find_parent_method_function();
}
// look up the type of the symbol
@@ -2441,10 +2443,6 @@ void CallOp::propagate_types2(types2::Instruction& instr,
in_type = TypeSpec("function", new_arg_types);
}
if (in_type.arg_count() < 1) {
throw std::runtime_error("Called a function, but we do not know its type");
}
// special case: variable argument count
if (in_type.arg_count() == 2 && in_type.get_arg(0) == TypeSpec("_varargs_")) {
can_backprop = false; // for now... can special case this later.
@@ -2510,12 +2508,78 @@ void CallOp::propagate_types2(types2::Instruction& instr,
arg_type.print());
}
}
bool use_normal_last_arg = true;
if (in_tp.kind == TP_Type::Kind::FIND_PARENT_METHOD_FUNCTION) {
bool can_use_call_parent = true;
TypeSpec call_parent_result_type;
const auto& guessed_name = env.func->guessed_name;
if (guessed_name.kind == FunctionName::FunctionKind::METHOD ||
guessed_name.kind == FunctionName::FunctionKind::V_STATE) {
// should call something like:
// (find-parent-method sharkey 39)
const auto& type_arg = input_types[Register(Reg::GPR, arg_regs[0])]->type;
if (can_use_call_parent && type_arg->kind != TP_Type::Kind::TYPE_OF_TYPE_NO_VIRTUAL) {
lg::warn(
"Can't use call-parent-method because the first argument to find-parent-method is a "
"{}, which should be a type",
type_arg->print());
can_use_call_parent = false;
}
if (can_use_call_parent && type_arg->get_type_objects_typespec() != guessed_name.type_name) {
lg::warn(
"Can't use call-parent-method because the first argument type is wrong: got {}, but "
"expected {}",
type_arg->get_type_objects_typespec().print(), guessed_name.type_name);
can_use_call_parent = false;
}
const auto& id_arg = input_types[Register(Reg::GPR, arg_regs[1])]->type;
int expected_id = -1;
if (guessed_name.kind == FunctionName::FunctionKind::V_STATE) {
auto state_info = dts.ts.lookup_method(guessed_name.type_name, guessed_name.state_name);
expected_id = state_info.id;
call_parent_result_type =
state_info.type.substitute_for_method_call(guessed_name.type_name);
} else {
expected_id = guessed_name.method_id;
call_parent_result_type = env.func->type; // same type as this method!
}
if (can_use_call_parent && !id_arg->is_integer_constant(expected_id)) {
lg::warn(
"Can't use call-parent-method because the second argument is wrong: got {}, but "
"expected a constant integer {}",
id_arg->print(), expected_id);
can_use_call_parent = false;
}
} else {
can_use_call_parent = false;
lg::warn(
"Can't use call-parent-method because find-parent-method was called in {}, which isn't a "
"method or state handler.",
env.func->name());
}
if (can_use_call_parent) {
out_types[Register(Reg::GPR, Reg::V0)]->type = TP_Type::make_from_ts(call_parent_result_type);
printf("used special %s\n", call_parent_result_type.print().c_str());
use_normal_last_arg = false;
}
}
if (in_type.arg_count() < 1) {
throw std::runtime_error("Called a function, but we do not know its type");
}
if (use_normal_last_arg) {
out_types[Register(Reg::GPR, Reg::V0)]->type = TP_Type::make_from_ts(in_type.last_arg());
}
// set the call type!
m_call_type = in_type;
m_call_type_set = true;
out_types[Register(Reg::GPR, Reg::V0)]->type = TP_Type::make_from_ts(in_type.last_arg());
if (in_tp.kind == TP_Type::Kind::NON_OBJECT_NEW_METHOD &&
in_tp.method_from_type() == TypeSpec("array") &&
input_types[Register(Reg::GPR, arg_regs[2])]) {
+6
View File
@@ -82,6 +82,8 @@ std::string TP_Type::print() const {
return "<run-function-in-process-func>";
case Kind::GET_ART_BY_NAME_METHOD:
return "<get-art-by-name-method>";
case Kind::FIND_PARENT_METHOD_FUNCTION:
return "<find-parent-method-func>";
case Kind::SYMBOL:
return fmt::format("<sym {}>", m_str);
case Kind::INVALID:
@@ -146,6 +148,7 @@ bool TP_Type::operator==(const TP_Type& other) const {
case Kind::RUN_FUNCTION_IN_PROCESS_FUNCTION:
case Kind::SET_TO_RUN_FUNCTION:
case Kind::GET_ART_BY_NAME_METHOD:
case Kind::FIND_PARENT_METHOD_FUNCTION:
return true;
case Kind::INVALID:
default:
@@ -215,6 +218,9 @@ TypeSpec TP_Type::typespec() const {
case Kind::SET_TO_RUN_FUNCTION:
// give a general function so we can't call it normally.
return TypeSpec("function");
case Kind::FIND_PARENT_METHOD_FUNCTION:
// hard-coded here. Needed so that we can properly analyze reg use for the call.
return TypeSpec("function", {TypeSpec("type"), TypeSpec("int"), TypeSpec("function")});
case Kind::GET_ART_BY_NAME_METHOD:
return m_ts;
case Kind::SYMBOL:
+8
View File
@@ -44,6 +44,7 @@ class TP_Type {
SET_TO_RUN_FUNCTION,
GET_ART_BY_NAME_METHOD,
SYMBOL,
FIND_PARENT_METHOD_FUNCTION,
INVALID
} kind = Kind::UNINITIALIZED;
TP_Type() = default;
@@ -78,6 +79,7 @@ class TP_Type {
case Kind::SET_TO_RUN_FUNCTION:
case Kind::GET_ART_BY_NAME_METHOD:
case Kind::NON_OBJECT_NEW_METHOD:
case Kind::FIND_PARENT_METHOD_FUNCTION:
case Kind::SYMBOL:
return false;
case Kind::UNINITIALIZED:
@@ -323,6 +325,12 @@ class TP_Type {
return result;
}
static TP_Type make_find_parent_method_function() {
TP_Type result;
result.kind = Kind::FIND_PARENT_METHOD_FUNCTION;
return result;
}
const TypeSpec& get_objects_typespec() const {
ASSERT(kind == Kind::TYPESPEC || kind == Kind::INTEGER_CONSTANT_PLUS_VAR);
return m_ts;
+1 -1
View File
@@ -178,7 +178,7 @@ int sql_query_sync(Ptr<String> string_in) {
auto new_result_ptr = call_method_of_type_arg2(intern_from_c("debug").offset, type,
GOAL_NEW_METHOD, type.offset, results.size());
SQLResult* new_result = Ptr<SQLResult>(new_result_ptr).c();
for (int i = 0; i < results.size(); i++) {
for (int i = 0; i < (int)results.size(); i++) {
new_result->data[i] = Ptr<String>(make_debug_string_from_c(results.at(i).data()));
}
new_result->len = results.size();
@@ -1484,7 +1484,7 @@
:enter (behavior ((arg0 object) (arg1 handle))
(set-time! (-> self state-time))
(set! (-> self state-object) #t)
(let ((t9-1 (-> (the-as (state eco-collectable) (find-parent-method fuel-cell 23)) enter)))
(let ((t9-1 (-> (the-as (state eco-collectable) (find-parent-state)) enter)))
(if t9-1
(t9-1)
)
+1 -1
View File
@@ -50,7 +50,7 @@
(if (nonzero? (-> this rand-gen))
(set! (-> this rand-gen) (the-as random-generator (+ (the-as int (-> this rand-gen)) arg0)))
)
(the-as nav-enemy ((the-as (function process-drawable int none) (find-parent-method nav-enemy 7)) this arg0))
(call-parent-method this arg0)
)
(defmethod new-patrol-point! nav-enemy ((this nav-enemy))
@@ -319,13 +319,7 @@
(the-as rigid-body-control-point-inline-array (+ (the-as int (-> this control-point-array)) arg0))
)
)
(the-as
rigid-body-platform
((the-as (function process-drawable int process-drawable) (find-parent-method rigid-body-platform 7))
this
arg0
)
)
(call-parent-method this arg0)
)
(defmethod rigid-body-platform-method-22 rigid-body-platform ((this rigid-body-platform) (arg0 vector) (arg1 float))
+1 -1
View File
@@ -146,7 +146,7 @@ nav-enemy-default-event-handler
(set! (-> this last-y) f28-0)
)
)
((the-as (function nav-enemy none) (find-parent-method sharkey 39)) this)
(call-parent-method this)
0
(none)
)
+1 -1
View File
@@ -2041,7 +2041,7 @@
(defmethod deactivate target ((this target))
(set-zero! *camera-smush-control*)
((the-as (function process-drawable none) (find-parent-method target 10)) this)
(call-parent-method this)
(none)
)
+1 -1
View File
@@ -175,7 +175,7 @@
)
(enable-hud)
(set! (-> *target* fp-hud) (the-as handle #f))
((the-as (function process none) (find-parent-method first-person-hud 10)) this)
(call-parent-method this)
(none)
)
+6
View File
@@ -362,6 +362,12 @@
current-method
)
(defmacro call-parent-method (&rest args)
"Find the first different implementation of the current method in a parent type and call it with these arguments."
`((the (current-method-function-type) (find-parent-method (current-method-type) (current-method-id)))
,@args)
)
(defmacro as-type (this type)
"Macro to _safely_ convert to a different type, returning #f if the type doesn't match.
Does a runtime type check so it's expensive."
+22
View File
@@ -144,6 +144,11 @@ It type checks the arguments for the entry function.
(set! *defstate-type-stack* '())
`(none)
)
;; set when inside a defstate.
(seval (define *defstate-current-type* #f))
(seval (define *defstate-current-state-name* #f))
;; *no-state* is just used for the compiler to know whether a handler was actually set or not
(defmacro defstate (state-name parents
&key (virtual #f)
@@ -163,6 +168,10 @@ It type checks the arguments for the entry function.
*defstate-type-stack*)
)
(set! *defstate-type-stack* '())
(when virtual
(set! *defstate-current-type* defstate-type)
(set! *defstate-current-state-name* state-name)
)
;; check for default handlers
(let ((default-handlers (assoc defstate-type *default-state-handlers*)))
(when default-handlers
@@ -225,6 +234,19 @@ It type checks the arguments for the entry function.
)
)
(defmacro find-parent-state ()
"Find the first different implementation of the current virtual state above this one."
(when (or (not *defstate-current-type*)
(not *defstate-current-state-name*))
(error "use of find-parent-state outside of a defstate.")
)
`(cast-to-method-type
,*defstate-current-type*
,*defstate-current-state-name*
(find-parent-method ,*defstate-current-type* (method-id-of-type ,*defstate-current-type* ,*defstate-current-state-name*))
)
)
(defmacro behavior (bindings &rest body)
"Define an anonymous behavior for a process state. This may only be used inside a defstate!"
+1 -4
View File
@@ -962,10 +962,7 @@
(if (nonzero? (-> this wobbler))
(&+! (-> this wobbler) arg0)
)
(the-as
flutflutegg
((the-as (function process-drawable int process-drawable) (find-parent-method flutflutegg 7)) this arg0)
)
(call-parent-method this arg0)
)
;; WARN: Function (method 20 flutflutegg) has a return type of none, but the expression builder found a return statement.
+2 -5
View File
@@ -255,10 +255,7 @@
(if (nonzero? (-> this part-landing))
(set! (-> this part-landing) (the-as sparticle-launch-control (+ (the-as int (-> this part-landing)) arg0)))
)
(the-as
beach-rock
((the-as (function process-drawable int none) (find-parent-method beach-rock 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod deactivate beach-rock ((this beach-rock))
@@ -268,7 +265,7 @@
(if (nonzero? (-> this part-landing))
(kill-and-free-particles (-> this part-landing))
)
((the-as (function process-drawable none) (find-parent-method beach-rock 10)) this)
(call-parent-method this)
(none)
)
+1 -4
View File
@@ -95,10 +95,7 @@
(if (nonzero? (-> this neck))
(&+! (-> this neck) arg0)
)
(the-as
pelican
((the-as (function process-drawable int process-drawable) (find-parent-method pelican 7)) this arg0)
)
(call-parent-method this arg0)
)
(defskelgroup *pelican-sg* pelican pelican-lod0-jg pelican-fly-ja
+10 -10
View File
@@ -180,7 +180,7 @@
)
(defmethod setup-new-process! citb-arm ((this citb-arm))
((the-as (function citb-arm-section none) (find-parent-method citb-arm 21)) this)
(call-parent-method this)
(set! (-> this draw origin-joint-index) (the-as uint 4))
(set-vector! (-> this cull-dir-local) 0.0 0.0 -1.0 1.0)
(set! (-> this cull-dot) (cos 5461.3335))
@@ -198,7 +198,7 @@
(defmethod setup-new-process! citb-arm-shoulder ((this citb-arm-shoulder))
((the-as (function citb-arm-section none) (find-parent-method citb-arm-shoulder 21)) this)
(call-parent-method this)
(set! (-> this draw origin-joint-index) (the-as uint 4))
(set-vector! (-> this cull-dir-local) 1.0 0.0 1.0 1.0)
(set! (-> this cull-dot) (cos 8374.045))
@@ -262,7 +262,7 @@
(defmethod setup-new-process! citb-arm-a ((this citb-arm-a))
(initialize-skeleton this *citb-arm-a-sg* '())
((the-as (function citb-arm none) (find-parent-method citb-arm-a 21)) this)
(call-parent-method this)
(set! (-> this root-override root-prim local-sphere z) -184320.0)
0
(none)
@@ -270,7 +270,7 @@
(defmethod setup-new-process! citb-arm-b ((this citb-arm-b))
(initialize-skeleton this *citb-arm-b-sg* '())
((the-as (function citb-arm none) (find-parent-method citb-arm-b 21)) this)
(call-parent-method this)
(set! (-> this root-override root-prim local-sphere z) -225280.0)
0
(none)
@@ -278,7 +278,7 @@
(defmethod setup-new-process! citb-arm-c ((this citb-arm-c))
(initialize-skeleton this *citb-arm-c-sg* '())
((the-as (function citb-arm none) (find-parent-method citb-arm-c 21)) this)
(call-parent-method this)
(set! (-> this root-override root-prim local-sphere z) -266240.0)
0
(none)
@@ -286,7 +286,7 @@
(defmethod setup-new-process! citb-arm-d ((this citb-arm-d))
(initialize-skeleton this *citb-arm-d-sg* '())
((the-as (function citb-arm none) (find-parent-method citb-arm-d 21)) this)
(call-parent-method this)
(set! (-> this root-override root-prim local-sphere z) -307200.0)
0
(none)
@@ -294,14 +294,14 @@
(defmethod setup-new-process! citb-arm-shoulder-a ((this citb-arm-shoulder-a))
(initialize-skeleton this *citb-arm-shoulder-a-sg* '())
((the-as (function citb-arm none) (find-parent-method citb-arm-shoulder-a 21)) (the-as citb-arm this))
(call-parent-method this)
0
(none)
)
(defmethod setup-new-process! citb-arm-shoulder-b ((this citb-arm-shoulder-b))
(initialize-skeleton this *citb-arm-shoulder-b-sg* '())
((the-as (function citb-arm none) (find-parent-method citb-arm-shoulder-b 21)) (the-as citb-arm this))
(call-parent-method this)
0
(none)
)
@@ -1541,7 +1541,7 @@
:virtual #t
:code (behavior ()
(process-entity-status! self (entity-perm-status complete) #t)
(let ((t9-2 (-> (the-as (state battlecontroller) (find-parent-method citb-battlecontroller 26)) code)))
(let ((t9-2 (-> (find-parent-state) code)))
(if t9-2
((the-as (function none :behavior battlecontroller) t9-2))
)
@@ -1550,7 +1550,7 @@
)
(defmethod battlecontroller-method-27 citb-battlecontroller ((this citb-battlecontroller))
((the-as (function battlecontroller none) (find-parent-method citb-battlecontroller 27)) this)
(call-parent-method this)
(set! (-> this activate-distance) 143360.0)
0
(none)
@@ -515,7 +515,7 @@
)
)
(set! (-> this sound-name) "redsage-fires")
((the-as (function citb-sage none) (find-parent-method red-sagecage 44)) this)
(call-parent-method this)
(the-as symbol 0)
)
@@ -633,7 +633,7 @@
)
)
(set! (-> this sound-name) "bluesage-fires")
((the-as (function citb-sage none) (find-parent-method blue-sagecage 44)) this)
(call-parent-method this)
(the-as symbol 0)
)
@@ -746,7 +746,7 @@
)
)
(set! (-> this sound-name) "yellsage-fire")
((the-as (function citb-sage none) (find-parent-method yellow-sagecage 44)) this)
(call-parent-method this)
(the-as symbol 0)
)
@@ -826,7 +826,7 @@
)
)
(set! (-> this sound-name) "greensage-fires")
((the-as (function citb-sage none) (find-parent-method green-sagecage 44)) this)
(call-parent-method this)
(the-as symbol 0)
)
+3 -3
View File
@@ -434,7 +434,7 @@
)
(defmethod rigid-body-platform-method-23 citb-chain-plat ((this citb-chain-plat) (arg0 float))
((the-as (function rigid-body-platform float none) (find-parent-method citb-chain-plat 23)) this arg0)
(call-parent-method this arg0)
(rigid-body-platform-method-27 this (-> this orig-trans))
0
(none)
@@ -1035,7 +1035,7 @@
:trans (behavior ()
(let ((gp-0 (new 'stack-no-clear 'vector)))
(set! (-> gp-0 quad) (-> self root-override trans quad))
(let ((t9-1 (-> (the-as (state plat-button) (find-parent-method citb-exit-plat 23)) trans)))
(let ((t9-1 (-> (the-as (state plat-button) (find-parent-state)) trans)))
(if t9-1
(t9-1)
)
@@ -1051,7 +1051,7 @@
:trans (behavior ()
(let ((gp-0 (new 'stack-no-clear 'vector)))
(set! (-> gp-0 quad) (-> self root-override trans quad))
(let ((t9-1 (-> (the-as (state plat-button) (find-parent-method citb-exit-plat 24)) trans)))
(let ((t9-1 (-> (the-as (state plat-button) (find-parent-state)) trans)))
(if t9-1
(t9-1)
)
@@ -590,10 +590,7 @@ battlecontroller-default-event-handler
(if (nonzero? (-> this path-spawn))
(&+! (-> this path-spawn) arg0)
)
(the-as
battlecontroller
((the-as (function process-drawable int process-drawable) (find-parent-method battlecontroller 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod deactivate battlecontroller ((this battlecontroller))
@@ -603,7 +600,7 @@ battlecontroller-default-event-handler
(battlecontroller-off)
(set! pp gp-0)
)
((the-as (function process-drawable none) (find-parent-method battlecontroller 10)) this)
(call-parent-method this)
0
(none)
)
+3 -3
View File
@@ -1175,7 +1175,7 @@
(go (method-of-object this play-anim))
)
(else
((the-as (function fisher none) (find-parent-method fisher 38)) this)
(call-parent-method this)
)
)
(none)
@@ -1753,7 +1753,7 @@
(fisher-fish-water gp-0 (+ 32768.0 (vector-y-angle (-> self node-list data 80 bone transform vector 1))))
)
)
(let ((t9-14 (-> (the-as state (find-parent-method fisher 24)) trans)))
(let ((t9-14 (-> (find-parent-state) trans)))
(if t9-14
(t9-14)
)
@@ -1764,7 +1764,7 @@
(defstate idle (fisher)
:virtual #t
:trans (behavior ()
(let ((t9-1 (-> (the-as state (find-parent-method fisher 30)) trans)))
(let ((t9-1 (-> (find-parent-state) trans)))
(if t9-1
(t9-1)
)
+1 -1
View File
@@ -32,7 +32,7 @@ nav-enemy-default-event-handler
(set! (-> v1-1 settings bot-plane w) (- (- (-> this shadow-min-y) (-> this collide-info trans y))))
)
0
((the-as (function nav-enemy none) (find-parent-method hopper 39)) this)
(call-parent-method this)
0
(none)
)
@@ -49,7 +49,7 @@
(gp-0 (new 'stack-no-clear 'vector))
)
(set! (-> s5-0 quad) (-> self root-override trans quad))
(let ((t9-1 (-> (the-as (state plat-button) (find-parent-method jungle-elevator 23)) trans)))
(let ((t9-1 (-> (find-parent-state) trans)))
(if t9-1
(t9-1)
)
+1 -4
View File
@@ -1087,10 +1087,7 @@
(if (nonzero? (-> this back-prim))
(&+! (-> this back-prim) arg0)
)
(the-as
jngpusher
((the-as (function process-drawable int process-drawable) (find-parent-method jngpusher 7)) this arg0)
)
(call-parent-method this arg0)
)
(defskelgroup *jngpusher-sg* jngpusher 0 2 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 10))
+1 -1
View File
@@ -25,7 +25,7 @@ nav-enemy-default-event-handler
(defmethod common-post junglefish ((this junglefish))
(water-control-method-10 (-> this water))
((the-as (function nav-enemy none) (find-parent-method junglefish 39)) this)
(call-parent-method this)
0
(none)
)
+1 -4
View File
@@ -67,10 +67,7 @@
(&+! (-> this death-prim v1-8) arg0)
)
)
(the-as
plant-boss
((the-as (function process-drawable int process-drawable) (find-parent-method plant-boss 7)) this arg0)
)
(call-parent-method this arg0)
)
(deftype plant-boss-arm (process-drawable)
@@ -403,10 +403,7 @@
(if (nonzero? (-> this spawn-array))
(&+! (-> this spawn-array) arg0)
)
(the-as
darkecobarrel
((the-as (function darkecobarrel-base int darkecobarrel-base) (find-parent-method darkecobarrel 7)) this arg0)
)
(call-parent-method this arg0)
)
(defskelgroup *darkecobarrel-sg* darkecobarrel darkecobarrel-lod0-jg darkecobarrel-idle-ja
+1 -1
View File
@@ -232,7 +232,7 @@ baby-spider-default-event-handler
(vector-z-quaternion! (new-stack-vector0) (-> this collide-info quat))
(-> this up-vector)
)
((the-as (function nav-enemy none) (find-parent-method baby-spider 39)) this)
(call-parent-method this)
(none)
)
@@ -957,10 +957,7 @@
(if (nonzero? (-> this sound2))
(&+! (-> this sound2) arg0)
)
(the-as
driller-lurker
((the-as (function process-drawable int process-drawable) (find-parent-method driller-lurker 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod deactivate driller-lurker ((this driller-lurker))
+1 -4
View File
@@ -1313,10 +1313,7 @@
(if (nonzero? (-> this sound2))
(&+! (-> this sound2) arg0)
)
(the-as
gnawer
((the-as (function nav-enemy int nav-enemy) (find-parent-method gnawer 7)) (the-as nav-enemy this) arg0)
)
(call-parent-method this arg0)
)
(defmethod init-from-entity! gnawer ((this gnawer) (arg0 entity-actor))
@@ -308,7 +308,7 @@ nav-enemy-default-event-handler
(if (and *target* (= (-> *target* current-level name) 'misty))
(spool-push *art-control* "mistycam-cannon" 0 self -1.0)
)
(let ((t9-3 (-> (the-as (state nav-enemy) (find-parent-method babak-with-cannon 23)) trans)))
(let ((t9-3 (-> (find-parent-state) trans)))
(if t9-3
(t9-3)
)
+1 -4
View File
@@ -816,10 +816,7 @@
(if (nonzero? (-> this mine 1))
(&+! (-> this mine 1) arg0)
)
(the-as
balloonlurker
((the-as (function process-drawable int process-drawable) (find-parent-method balloonlurker 7)) this arg0)
)
(call-parent-method this arg0)
)
(defstate balloonlurker-pilot-idle (balloonlurker-pilot)
+1 -4
View File
@@ -562,10 +562,7 @@
(if (nonzero? (-> this pivot))
(&+! (-> this pivot) arg0)
)
(the-as
keg-conveyor
((the-as (function process-drawable int process-drawable) (find-parent-method keg-conveyor 7)) this arg0)
)
(call-parent-method this arg0)
)
;; WARN: Function (method 11 keg-conveyor) has a return type of none, but the expression builder found a return statement.
+2 -5
View File
@@ -1574,10 +1574,7 @@
)
(defmethod rigid-body-platform-method-23 bone-platform ((this bone-platform) (arg0 float))
((the-as (function rigid-body-platform basic none) (find-parent-method bone-platform 23))
this
(the-as basic arg0)
)
(call-parent-method this arg0)
(rigid-body-platform-method-27 this (-> this anchor-point))
0
(none)
@@ -1756,7 +1753,7 @@
)
(defmethod battlecontroller-method-27 misty-battlecontroller ((this misty-battlecontroller))
((the-as (function battlecontroller none) (find-parent-method misty-battlecontroller 27)) this)
(call-parent-method this)
(set! (-> this misty-ambush-collision-hack) #t)
0
(none)
+11 -17
View File
@@ -440,10 +440,7 @@
(defmethod rigid-body-platform-method-23 ogre-plat ((this ogre-plat) (arg0 float))
((the-as (function rigid-body-platform basic none) (find-parent-method ogre-plat 23))
this
(the-as basic arg0)
)
(call-parent-method this arg0)
(rigid-body-platform-method-27 this (-> this anchor-point))
0
(none)
@@ -610,7 +607,7 @@
(set! (-> this float-y-offset) 0.0)
(+! (-> this root-overlay trans y) (-> this idle-y-offset))
(rigid-body-platform-method-29 this *ogre-step-constants*)
((the-as (function ogre-plat none) (find-parent-method ogre-step 31)) this)
(call-parent-method this)
(let ((a0-5 (entity-actor-lookup (-> this entity) 'alt-actor 0)))
(if (and a0-5 (logtest? (-> a0-5 extra perm status) (entity-perm-status complete)))
(set! (-> this active) #t)
@@ -668,7 +665,7 @@
(defmethod rigid-body-platform-method-31 ogre-step-a ((this ogre-step-a))
(set-vector! (-> this root-overlay root-prim local-sphere) 0.0 12288.0 0.0 20480.0)
(initialize-skeleton this *ogre-step-a-sg* '())
((the-as (function ogre-step none) (find-parent-method ogre-step-a 31)) this)
(call-parent-method this)
0
(none)
)
@@ -676,7 +673,7 @@
(defmethod rigid-body-platform-method-31 ogre-step-b ((this ogre-step-b))
(set-vector! (-> this root-overlay root-prim local-sphere) 0.0 12288.0 0.0 20480.0)
(initialize-skeleton this *ogre-step-b-sg* '())
((the-as (function ogre-step none) (find-parent-method ogre-step-b 31)) this)
(call-parent-method this)
0
(none)
)
@@ -684,7 +681,7 @@
(defmethod rigid-body-platform-method-31 ogre-step-c ((this ogre-step-c))
(set-vector! (-> this root-overlay root-prim local-sphere) 0.0 12288.0 0.0 26624.0)
(initialize-skeleton this *ogre-step-c-sg* '())
((the-as (function ogre-step none) (find-parent-method ogre-step-c 31)) this)
(call-parent-method this)
0
(none)
)
@@ -692,7 +689,7 @@
(defmethod rigid-body-platform-method-31 ogre-step-d ((this ogre-step-d))
(set-vector! (-> this root-overlay root-prim local-sphere) 0.0 12288.0 0.0 20480.0)
(initialize-skeleton this *ogre-step-b-sg* '())
((the-as (function ogre-step none) (find-parent-method ogre-step-d 31)) this)
(call-parent-method this)
0
(none)
)
@@ -737,7 +734,7 @@
(set! (-> this idle-y-offset) -6144.0)
(set! (-> this float-y-offset) 4096.0)
(rigid-body-platform-method-29 this *ogre-isle-constants*)
((the-as (function ogre-plat none) (find-parent-method ogre-isle 31)) this)
(call-parent-method this)
(set! (-> this active) #t)
0
(none)
@@ -774,7 +771,7 @@
(+! (-> this root-overlay trans x) -8192.0)
(set-vector! (-> this root-overlay root-prim local-sphere) 0.0 8192.0 0.0 24576.0)
(initialize-skeleton this *ogre-isle-b-sg* '())
((the-as (function ogre-isle none) (find-parent-method ogre-isle-b 31)) this)
(call-parent-method this)
0
(none)
)
@@ -783,7 +780,7 @@
(+! (-> this root-overlay trans x) -8192.0)
(set-vector! (-> this root-overlay root-prim local-sphere) 0.0 8192.0 0.0 24576.0)
(initialize-skeleton this *ogre-isle-b-sg* '())
((the-as (function ogre-isle none) (find-parent-method ogre-isle-c 31)) this)
(call-parent-method this)
0
(none)
)
@@ -793,7 +790,7 @@
(+! (-> this root-overlay trans z) -8192.0)
(set-vector! (-> this root-overlay root-prim local-sphere) 0.0 8192.0 0.0 22528.0)
(initialize-skeleton this *ogre-isle-d-sg* '())
((the-as (function ogre-isle none) (find-parent-method ogre-isle-d 31)) this)
(call-parent-method this)
0
(none)
)
@@ -828,10 +825,7 @@
(&+! (-> this joint-mod-array v1-0) arg0)
)
)
(the-as
ogre-bridge
((the-as (function process-drawable int process-drawable) (find-parent-method ogre-bridge 7)) this arg0)
)
(call-parent-method this arg0)
)
(defbehavior ogre-bridge-update-joints ogre-bridge ()
+1 -7
View File
@@ -751,13 +751,7 @@
(if (nonzero? (-> this joint))
(&+! (-> this joint) arg0)
)
(the-as
ogreboss-super-boulder
((the-as (function process-drawable int process-drawable) (find-parent-method ogreboss-super-boulder 7))
this
arg0
)
)
(call-parent-method this arg0)
)
(defstate ogreboss-super-boulder-killed-player (ogreboss-super-boulder)
+1 -4
View File
@@ -285,10 +285,7 @@
(if (nonzero? (-> this alt-actors))
(&+! (-> this alt-actors) arg0)
)
(the-as
cave-trap
((the-as (function process-drawable int process-drawable) (find-parent-method cave-trap 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-from-entity! cave-trap ((this cave-trap) (arg0 entity-actor))
+1 -1
View File
@@ -588,7 +588,7 @@
(if (nonzero? (-> this part4))
(&+! (-> this part4) arg0)
)
(the-as ice-cube ((the-as (function nav-enemy int nav-enemy) (find-parent-method ice-cube 7)) this arg0))
(call-parent-method this arg0)
)
(defmethod init-from-entity! ice-cube ((this ice-cube) (arg0 entity-actor))
+1 -5
View File
@@ -560,11 +560,7 @@
(&+! (-> this path v1-0) arg0)
)
)
(the-as snow-ball ((the-as (function process-drawable int process-drawable) (find-parent-method snow-ball 7))
(the-as process-drawable this)
arg0
)
)
(call-parent-method this arg0)
)
(defmethod init-from-entity! snow-ball ((this snow-ball) (arg0 entity-actor))
+1 -4
View File
@@ -299,10 +299,7 @@
(if (nonzero? (-> this part2))
(&+! (-> this part2) arg0)
)
(the-as
snow-bumper
((the-as (function process-drawable int process-drawable) (find-parent-method snow-bumper 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-from-entity! snow-bumper ((this snow-bumper) (arg0 entity-actor))
+1 -4
View File
@@ -1001,10 +1001,7 @@
(if (nonzero? (-> this part3))
(&+! (-> this part3) arg0)
)
(the-as
snow-fort-gate
((the-as (function process-drawable int process-drawable) (find-parent-method snow-fort-gate 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-from-entity! snow-fort-gate ((this snow-fort-gate) (arg0 entity-actor))
+1 -1
View File
@@ -541,7 +541,7 @@
(if (nonzero? (-> this part2))
(&+! (-> this part2) arg0)
)
(the-as yeti-slave ((the-as (function nav-enemy int nav-enemy) (find-parent-method yeti-slave 7)) this arg0))
(call-parent-method this arg0)
)
(defbehavior yeti-slave-init-by-other yeti-slave ((arg0 entity) (arg1 yeti) (arg2 vector) (arg3 vector) (arg4 symbol))
+1 -4
View File
@@ -734,10 +734,7 @@
(if (nonzero? (-> this neck))
(&+! (-> this neck) arg0)
)
(the-as
bully
((the-as (function process-drawable int process-drawable) (find-parent-method bully 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-from-entity! bully ((this bully) (arg0 entity-actor))
+1 -4
View File
@@ -669,10 +669,7 @@
(if (nonzero? (-> this alt-actors))
(&+! (-> this alt-actors) arg0)
)
(the-as
helix-water
((the-as (function process-drawable int process-drawable) (find-parent-method helix-water 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-from-entity! helix-water ((this helix-water) (arg0 entity-actor))
+1 -4
View File
@@ -1054,10 +1054,7 @@
(if (nonzero? (-> this neck))
(&+! (-> this neck) arg0)
)
(the-as
puffer
((the-as (function process-drawable int process-drawable) (find-parent-method puffer 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-from-entity! puffer ((this puffer) (arg0 entity-actor))
+1 -1
View File
@@ -280,7 +280,7 @@
)
(defmethod rigid-body-platform-method-23 qbert-plat ((this qbert-plat) (arg0 float))
((the-as (function rigid-body-platform float none) (find-parent-method qbert-plat 23)) this arg0)
(call-parent-method this arg0)
(rigid-body-platform-method-27 this (-> this anchor-point))
0
(none)
@@ -404,10 +404,7 @@
(if (nonzero? (-> this part4))
(&+! (-> this part4) arg0)
)
(the-as
square-platform
((the-as (function baseplat int baseplat) (find-parent-method square-platform 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-from-entity! square-platform ((this square-platform) (arg0 entity-actor))
+1 -4
View File
@@ -650,10 +650,7 @@
(if (nonzero? (-> this part3))
(&+! (-> this part3) arg0)
)
(the-as
steam-cap
((the-as (function process-drawable int process-drawable) (find-parent-method steam-cap 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod deactivate steam-cap ((this steam-cap))
@@ -911,10 +911,7 @@
)
)
)
(the-as
sunken-pipegame
((the-as (function process-drawable int process-drawable) (find-parent-method sunken-pipegame 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-from-entity! sunken-pipegame ((this sunken-pipegame) (arg0 entity-actor))
+3 -6
View File
@@ -43,10 +43,7 @@
(&+! (-> this path-data v1-0) arg0)
)
)
(the-as
billy
((the-as (function process-drawable int process-drawable) (find-parent-method billy 7)) this arg0)
)
(call-parent-method this arg0)
)
(deftype billy-snack (process-drawable)
@@ -207,7 +204,7 @@
(defstate nav-enemy-victory (billy-rat)
:virtual #t
:enter (behavior ()
(let ((t9-1 (-> (the-as (state nav-enemy) (find-parent-method billy-rat 33)) enter)))
(let ((t9-1 (-> (find-parent-state) enter)))
(if t9-1
(t9-1)
)
@@ -438,7 +435,7 @@
(go (method-of-object this play-anim))
)
(else
((the-as (function nav-enemy none) (find-parent-method billy 38)) (the-as nav-enemy this))
(call-parent-method this)
)
)
(none)
+1 -1
View File
@@ -829,7 +829,7 @@
nav-enemy-default-event-handler
(defmethod common-post kermit ((this kermit))
((the-as (function nav-enemy none) (find-parent-method kermit 39)) this)
(call-parent-method this)
(when (-> this charged-up)
)
0
+1 -4
View File
@@ -62,10 +62,7 @@
(&+! (-> this path-list v1-0) arg0)
)
)
(the-as
swamp-bat
((the-as (function process-drawable int process-drawable) (find-parent-method swamp-bat 7)) this arg0)
)
(call-parent-method this arg0)
)
(deftype swamp-bat-slave (process-drawable)
+1 -1
View File
@@ -748,7 +748,7 @@
)
(defmethod rigid-body-platform-method-23 tar-plat ((this tar-plat) (arg0 float))
((the-as (function rigid-body-platform basic none) (find-parent-method tar-plat 23)) this (the-as basic arg0))
(call-parent-method this arg0)
(rigid-body-platform-method-27 this (-> this anchor-point))
0
(none)
+1 -1
View File
@@ -85,7 +85,7 @@ swamp-rat-default-event-handler
(vector-z-quaternion! (new-stack-vector0) (-> this collide-info quat))
(-> this up-vector)
)
((the-as (function nav-enemy none) (find-parent-method swamp-rat 39)) this)
(call-parent-method this)
(none)
)
@@ -242,7 +242,7 @@
)
(defmethod rigid-body-platform-method-23 tra-pontoon ((this tra-pontoon) (arg0 float))
((the-as (function rigid-body-platform float none) (find-parent-method tra-pontoon 23)) this arg0)
(call-parent-method this arg0)
(rigid-body-platform-method-27 this (-> this anchor-point))
0
(none)
@@ -1218,13 +1218,7 @@
(if (nonzero? (-> this propeller))
(&+! (-> this propeller) arg0)
)
(the-as
fishermans-boat
((the-as (function rigid-body-platform int rigid-body-platform) (find-parent-method fishermans-boat 7))
this
arg0
)
)
(call-parent-method this arg0)
)
(defmethod rigid-body-platform-method-30 fishermans-boat ((this fishermans-boat))
+1 -4
View File
@@ -924,10 +924,7 @@
(if (nonzero? (-> this pivot))
(&+! (-> this pivot) arg0)
)
(the-as
hutlamp
((the-as (function process-drawable int process-drawable) (find-parent-method hutlamp 7)) this arg0)
)
(call-parent-method this arg0)
)
(defskelgroup *hutlamp-sg* hutlamp hutlamp-lod0-jg hutlamp-idle-ja
@@ -148,7 +148,7 @@
)
(set! *teleport* #t)
(set! (-> s5-0 quad) (-> self root-override trans quad))
(let ((t9-1 (-> (the-as (state sunken-elevator) (find-parent-method sunken-elevator 23)) trans)))
(let ((t9-1 (-> (find-parent-state) trans)))
(if t9-1
(t9-1)
)
+1 -4
View File
@@ -584,10 +584,7 @@
(if (nonzero? (-> this bag))
(&+! (-> this bag) arg0)
)
(the-as
swamp-blimp
((the-as (function process-drawable int process-drawable) (find-parent-method swamp-blimp 7)) this arg0)
)
(call-parent-method this arg0)
)
(defstate swamp-tetherrock-die (swamp-tetherrock)
@@ -183,7 +183,7 @@
)
(defmethod rigid-body-platform-method-23 pontoon ((this pontoon) (arg0 float))
((the-as (function rigid-body-platform basic none) (find-parent-method pontoon 23)) this (the-as basic arg0))
(call-parent-method this arg0)
(rigid-body-platform-method-27 this (-> this anchor-point))
0
(none)
@@ -842,7 +842,7 @@
)
)
)
(let ((t9-10 (-> (the-as (state basebutton) (find-parent-method warp-gate-switch 21)) code)))
(let ((t9-10 (-> (the-as (state basebutton) (find-parent-state)) code)))
(if t9-10
((the-as (function none :behavior basebutton) t9-10))
)
+1 -5
View File
@@ -24,15 +24,11 @@
)
)
;; WARN: Return type mismatch process-focusable vs enemy.
(defmethod relocate enemy ((this enemy) (arg0 int))
(if (nonzero? (-> this neck))
(&+! (-> this neck) arg0)
)
(the-as
enemy
((the-as (function process-focusable int process-focusable) (find-parent-method enemy 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod get-rand-float enemy ((this enemy))
+1 -1
View File
@@ -259,7 +259,7 @@
(defmethod deactivate talker ((this talker))
(send-event (handle->process (-> this voicebox)) 'die)
((the-as (function process none) (find-parent-method talker 10)) this)
(call-parent-method this)
(none)
)
@@ -1231,7 +1231,7 @@
(if (not (logtest? (-> self fact options) (actor-option no-reaction)))
(send-event (handle->process arg1) 'powerup (-> self fact pickup-type) (-> self fact pickup-amount))
)
(let ((t9-2 (-> (the-as state (find-parent-method eco 26)) code)))
(let ((t9-2 (-> (the-as state (find-parent-state)) code)))
(if t9-2
((the-as (function none) t9-2))
)
@@ -1668,7 +1668,7 @@ This commonly includes things such as:
(defmethod deactivate gem ((this gem))
(+! (-> *game-info* live-gem-count) -1)
((the-as (function gem none) (find-parent-method gem 10)) this)
(call-parent-method this)
(none)
)
+1 -5
View File
@@ -57,13 +57,9 @@
)
;; WARN: Return type mismatch process-drawable vs conveyor.
(defmethod relocate conveyor ((this conveyor) (new-addr int))
(&+! (-> this sections) new-addr)
(the-as
conveyor
((the-as (function process-drawable int process-drawable) (find-parent-method conveyor 7)) this new-addr)
)
(call-parent-method this new-addr)
)
;; WARN: Return type mismatch symbol vs art-group.
+1 -2
View File
@@ -760,12 +760,11 @@ For example for an elevator pre-compute the distance between the first and last
(none)
)
;; WARN: Return type mismatch base-plat vs elevator.
(defmethod relocate elevator ((this elevator) (arg0 int))
(if (nonzero? (-> this path-seq))
(&+! (-> this path-seq) arg0)
)
(the-as elevator ((the-as (function base-plat int base-plat) (find-parent-method elevator 7)) this arg0))
(call-parent-method this arg0)
)
(defmethod activate-elevator elevator ((this elevator))
@@ -73,18 +73,11 @@
)
;; WARN: Return type mismatch rigid-body-object vs rigid-body-platform.
(defmethod relocate rigid-body-platform ((this rigid-body-platform) (new-addr int))
(if (nonzero? (-> this control-point-array))
(&+! (-> this control-point-array) new-addr)
)
(the-as
rigid-body-platform
((the-as (function rigid-body-object int rigid-body-object) (find-parent-method rigid-body-platform 7))
this
new-addr
)
)
(call-parent-method this new-addr)
)
(defmethod rigid-body-platform-method-53 rigid-body-platform ((this rigid-body-platform) (arg0 vector))
@@ -45,7 +45,7 @@
(if (nonzero? (-> this flow))
(&+! (-> this flow) arg0)
)
((the-as (function water-anim int water-anim) (find-parent-method water-anim 7)) this arg0)
(call-parent-method this arg0)
)
(defskelgroup skel-water-anim-nest-dark-eco-largepool water-anim-nest-dark-eco water-anim-nest-dark-eco-largepool-lod0-jg -1
@@ -68,7 +68,7 @@
(if (nonzero? (-> this path))
(&+! (-> this path) arg0)
)
((the-as (function flow-control int flow-control) (find-parent-method flow-control 7)) this arg0)
(call-parent-method this arg0)
)
(defmethod draw-path flow-control ((this flow-control))
+4 -13
View File
@@ -736,10 +736,7 @@
)
)
)
((the-as (function editable-point editable-command none) (find-parent-method editable-point 28))
this
(the-as editable-command arg0)
)
(call-parent-method this arg0)
0
(none)
)
@@ -1038,7 +1035,7 @@
;; WARN: Function (method 25 editable-light) has a return type of none, but the expression builder found a return statement.
(defmethod editable-method-25 editable-light ((this editable-light) (arg0 editable-array))
((the-as (function editable-light editable-array none) (find-parent-method editable-light 25)) this arg0)
(call-parent-method this arg0)
(when (nonzero? (-> this id))
(let ((s5-1 (clear *temp-string*)))
(format s5-1 "delete from light where light_id=~D" (-> this id))
@@ -1203,7 +1200,7 @@
(set! (-> s3-0 owner) (delete! this (-> s3-0 owner)))
)
)
((the-as (function editable-face editable-array none) (find-parent-method editable-face 25)) this arg0)
(call-parent-method this arg0)
(none)
)
@@ -1231,13 +1228,7 @@
;; WARN: Return type mismatch editable-face vs editable.
(defmethod editable-method-27 editable-face ((this editable-face) (arg0 editable-array))
(let ((gp-1
(the-as
editable-face
((the-as (function editable-face editable-array editable) (find-parent-method editable-face 27)) this arg0)
)
)
)
(let ((gp-1 (the-as editable-face (call-parent-method this arg0))))
(dotimes (s4-0 (-> gp-1 length))
(set! (-> gp-1 vertex s4-0) (the-as editable-point (editable-method-27 (-> gp-1 vertex s4-0) arg0)))
(set! (-> gp-1 vertex s4-0 owner) (cons gp-1 (-> gp-1 vertex s4-0 owner)))
@@ -162,12 +162,8 @@
(none)
)
;; WARN: Return type mismatch none vs nav-graph-editor.
(defmethod relocate nav-graph-editor ((this nav-graph-editor) (arg0 int))
(the-as
nav-graph-editor
((the-as (function process int none) (find-parent-method nav-graph-editor 7)) this arg0)
)
(call-parent-method this arg0)
)
;; WARN: Return type mismatch symbol vs none.
@@ -1683,7 +1683,6 @@
)
)
;; WARN: Return type mismatch process vs none.
(defmethod deactivate fail-mission ((this fail-mission))
(set-filter-color! 1.0 1.0 1.0)
(sound-group-continue (sound-group sfx music dialog sog3 ambient dialog2 sog6 sog7))
@@ -1691,7 +1690,7 @@
(update-rates! (-> *display* entity-clock) 1.0)
(update-rates! (-> *display* target-clock) 1.0)
(update-rates! (-> *display* camera-clock) 1.0)
((the-as (function process process) (find-parent-method fail-mission 10)) this)
(call-parent-method this)
(none)
)
@@ -735,7 +735,7 @@
(defmethod dump-grid-info sphere-hash ((this sphere-hash))
"Prints out info about the grid-hash, also draws via [[grid-hash::draw-grid]] if `debug-draw` is `#t`"
((the (function sphere-hash none) (find-parent-method sphere-hash 15)) this)
(call-parent-method this)
(new 'stack-no-clear 'vector)
(let ((f30-0 6144.0))
(set! (-> this work temp-box-min quad) (-> (target-pos 0) quad))
+1 -1
View File
@@ -3310,7 +3310,7 @@
)
(set! (-> *setting-control* cam-default mode-name) #f)
(set-zero! *camera-smush-control*)
((the-as (function target none) (find-parent-method target 10)) this)
(call-parent-method this)
(none)
)
+2 -2
View File
@@ -54,7 +54,7 @@
(stereo-mode-backup int32 :offset-assert 216)
(secrets-unlocked symbol :offset-assert 220)
(missions-total-spacing float :offset-assert 224)
(clear-screen symbol :offset-assert 228)
(clear-screen symbol :offset-assert 228)
)
:method-count-assert 9
:size-assert #xe8
@@ -470,7 +470,7 @@
(enable-level-text-file-loading)
(persist-with-delay *setting-control* 'allow-progress (seconds 0.1) 'allow-progress #f 0.0 0)
(persist-with-delay *setting-control* 'allow-pause (seconds 0.1) 'allow-pause #f 0.0 0)
((the-as (function progress none) (find-parent-method progress 10)) this)
(call-parent-method this)
(none)
)
+6
View File
@@ -323,6 +323,12 @@
v0-0
)
(defmacro call-parent-method (&rest args)
"Find the first different implementation of the current method in a parent type and call it with these arguments."
`((the (current-method-function-type) (find-parent-method (current-method-type) (current-method-id)))
,@args)
)
(defun ref ((arg0 object) (arg1 int))
"Get the n-th item in a linked list. No range checking."
(dotimes (v1-0 arg1)
+23
View File
@@ -145,6 +145,11 @@ It type checks the arguments for the entry function.
(set! *defstate-type-stack* '())
`(none)
)
;; set when inside a defstate.
(seval (define *defstate-current-type* #f))
(seval (define *defstate-current-state-name* #f))
;; *no-state* is just used for the compiler to know whether a handler was actually set or not
(defmacro defstate (state-name parents
&key (virtual #f)
@@ -164,6 +169,10 @@ It type checks the arguments for the entry function.
*defstate-type-stack*)
)
(set! *defstate-type-stack* '())
(when virtual
(set! *defstate-current-type* defstate-type)
(set! *defstate-current-state-name* state-name)
)
;; check for default handlers
(let ((default-handlers (assoc defstate-type *default-state-handlers*)))
(when default-handlers
@@ -226,6 +235,20 @@ It type checks the arguments for the entry function.
)
)
(defmacro find-parent-state ()
"Find the first different implementation of the current virtual state above this one."
(when (or (not *defstate-current-type*)
(not *defstate-current-state-name*))
(error "use of find-parent-state outside of a defstate.")
)
`(cast-to-method-type
,*defstate-current-type*
,*defstate-current-state-name*
(find-parent-method ,*defstate-current-type* (method-id-of-type ,*defstate-current-type* ,*defstate-current-state-name*))
)
)
(defmacro behavior (bindings &rest body)
"Define an anonymous behavior for a process state. This may only be used inside a defstate!"
+2 -6
View File
@@ -805,21 +805,17 @@ This commonly includes things such as:
(defmethod deactivate slider ((this slider))
(sound-stop (the-as sound-id (-> this sound-id)))
((the-as (function process-drawable none) (find-parent-method slider 10)) this)
(call-parent-method this)
(none)
)
;; WARN: Return type mismatch process-drawable vs slider.
(defmethod relocate slider ((this slider) (arg0 int))
(dotimes (v1-0 4)
(if (nonzero? (-> this l-bolts v1-0))
(&+! (-> this l-bolts v1-0) arg0)
)
)
(the-as
slider
((the-as (function process-drawable int process-drawable) (find-parent-method slider 7)) this arg0)
)
(call-parent-method this arg0)
)
;; WARN: Return type mismatch object vs none.
+1 -5
View File
@@ -1738,7 +1738,6 @@
(none)
)
;; WARN: Return type mismatch process-focusable vs juicer.
(defmethod relocate juicer ((this juicer) (arg0 int))
(if (nonzero? (-> this intro-path))
(&+! (-> this intro-path) arg0)
@@ -1746,10 +1745,7 @@
(if (nonzero? (-> this joint))
(&+! (-> this joint) arg0)
)
(the-as
juicer
((the-as (function process-focusable int process-focusable) (find-parent-method juicer 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-enemy! juicer ((this juicer))
@@ -110,7 +110,7 @@ This commonly includes things such as:
(defmethod deactivate cboss-elevator ((this cboss-elevator))
(sound-stop (-> this sound-id))
((the-as (function process-drawable none) (find-parent-method cboss-elevator 10)) this)
(call-parent-method this)
(none)
)
@@ -1353,7 +1353,7 @@ For example for an elevator pre-compute the distance between the first and last
(defmethod init-proj-settings! krew-boss-shot ((this krew-boss-shot))
"Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc"
((the-as (function projectile none) (find-parent-method krew-boss-shot 31)) this)
(call-parent-method this)
(set! (-> this move) krew-boss-shot-move)
(set! (-> this max-speed) 245760.0)
(set! (-> this timeout) (seconds 5))
+3 -3
View File
@@ -79,7 +79,7 @@ This commonly includes things such as:
(defmethod deactivate cas-conveyor ((this cas-conveyor))
(sound-stop (-> this sound-id))
((the-as (function conveyor none) (find-parent-method cas-conveyor 10)) this)
(call-parent-method this)
(none)
)
@@ -935,7 +935,7 @@ This commonly includes things such as:
(defmethod deactivate cas-elevator ((this cas-elevator))
(sound-stop (-> this sound-id))
((the-as (function elevator none) (find-parent-method cas-elevator 10)) this)
(call-parent-method this)
(none)
)
@@ -1987,7 +1987,7 @@ This commonly includes things such as:
(defmethod deactivate cas-rot-blade ((this cas-rot-blade))
(sound-stop (-> this sound-id))
((the-as (function process-drawable none) (find-parent-method cas-rot-blade 10)) this)
(call-parent-method this)
(none)
)
@@ -152,7 +152,7 @@
(defmethod deactivate cpad-elevator ((this cpad-elevator))
(sound-stop (-> this sound-id))
((the-as (function elevator none) (find-parent-method cpad-elevator 10)) this)
(call-parent-method this)
(none)
)
+10 -14
View File
@@ -334,9 +334,9 @@
(defstate ambush (roboguard-level)
:virtual #t
:enter (behavior ()
(let ((t9-1 (-> (the-as state (find-parent-method roboguard-level 44)) enter)))
(let ((t9-1 (-> (find-parent-state) enter)))
(if t9-1
((the-as (function none) t9-1))
(t9-1)
)
)
(logand! (-> self flags) -9)
@@ -402,9 +402,9 @@
(defstate idle (roboguard-level)
:virtual #t
:enter (behavior ()
(let ((t9-1 (-> (the-as state (find-parent-method roboguard-level 31)) enter)))
(let ((t9-1 (-> (find-parent-state) enter)))
(if t9-1
((the-as (function none) t9-1))
(t9-1)
)
)
(roboguard-level-method-185 self (the-as symbol 0))
@@ -490,9 +490,9 @@
(defstate stare (roboguard-level)
:virtual #t
:enter (behavior ()
(let ((t9-1 (-> (the-as state (find-parent-method roboguard-level 35)) enter)))
(let ((t9-1 (-> (find-parent-state) enter)))
(if t9-1
((the-as (function none) t9-1))
(t9-1)
)
)
(roboguard-level-method-185 self (the-as symbol 0))
@@ -753,9 +753,9 @@
(defstate die (roboguard-level)
:virtual #t
:enter (behavior ()
(let ((t9-1 (-> (the-as state (find-parent-method roboguard-level 38)) enter)))
(let ((t9-1 (-> (find-parent-state) enter)))
(if t9-1
((the-as (function none) t9-1))
(t9-1)
)
)
(roboguard-level-method-185 self (the-as symbol 0))
@@ -1186,16 +1186,12 @@
(defmethod deactivate roboguard-level ((this roboguard-level))
(sound-stop (-> this roll-sound))
((the-as (function nav-enemy none) (find-parent-method roboguard-level 10)) this)
(call-parent-method this)
(none)
)
;; WARN: Return type mismatch nav-enemy vs roboguard-level.
(defmethod relocate roboguard-level ((this roboguard-level) (arg0 int))
(the-as
roboguard-level
((the-as (function nav-enemy int nav-enemy) (find-parent-method roboguard-level 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-enemy-collision! roboguard-level ((this roboguard-level))
+1 -2
View File
@@ -2163,7 +2163,6 @@
)
)
;; WARN: Return type mismatch nav-enemy vs bombbot.
(defmethod relocate bombbot ((this bombbot) (arg0 int))
(dotimes (v1-0 4)
(if (nonzero? (-> this joint-ik v1-0))
@@ -2173,7 +2172,7 @@
(if (nonzero? (-> this rigidbody))
(&+! (-> this rigidbody) arg0)
)
(the-as bombbot ((the-as (function nav-enemy int nav-enemy) (find-parent-method bombbot 7)) this arg0))
(call-parent-method this arg0)
)
(defmethod init-enemy-collision! bombbot ((this bombbot))
+2 -13
View File
@@ -2019,7 +2019,6 @@ This commonly includes things such as:
)
)
;; WARN: Return type mismatch process-focusable vs cty-guard-turret.
(defmethod relocate cty-guard-turret ((this cty-guard-turret) (arg0 int))
(if (nonzero? (-> this jm-turret))
(&+! (-> this jm-turret) arg0)
@@ -2030,13 +2029,7 @@ This commonly includes things such as:
(if (nonzero? (-> this jm-gunsR))
(&+! (-> this jm-gunsR) arg0)
)
(the-as
cty-guard-turret
((the-as (function process-focusable int process-focusable) (find-parent-method cty-guard-turret 7))
this
arg0
)
)
(call-parent-method this arg0)
)
(defmethod cty-guard-turret-method-32 cty-guard-turret ((this cty-guard-turret))
@@ -3927,7 +3920,6 @@ This commonly includes things such as:
(none)
)
;; WARN: Return type mismatch process-drawable vs barons-ship-lores.
(defmethod relocate barons-ship-lores ((this barons-ship-lores) (arg0 int))
(if (nonzero? (-> this paths 0))
(&+! (-> this paths 0) arg0)
@@ -3938,10 +3930,7 @@ This commonly includes things such as:
(if (nonzero? (-> this paths 2))
(&+! (-> this paths 2) arg0)
)
(the-as
barons-ship-lores
((the-as (function process-drawable int process-drawable) (find-parent-method barons-ship-lores 7)) this arg0)
)
(call-parent-method this arg0)
)
(defstate idle (barons-ship-lores)
@@ -3705,7 +3705,6 @@
(none)
)
;; WARN: Return type mismatch process-drawable vs crimson-guard.
(defmethod relocate crimson-guard ((this crimson-guard) (arg0 int))
(if (nonzero? (-> this joint))
(&+! (-> this joint) arg0)
@@ -3713,10 +3712,7 @@
(if (nonzero? (-> this l-control))
(&+! (-> this l-control) arg0)
)
(the-as
crimson-guard
((the-as (function process-drawable int process-drawable) (find-parent-method crimson-guard 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod init-enemy! crimson-guard ((this crimson-guard))
@@ -1096,15 +1096,8 @@
(none)
)
;; WARN: Return type mismatch process-drawable vs metalhead-predator.
(defmethod relocate metalhead-predator ((this metalhead-predator) (arg0 int))
(the-as
metalhead-predator
((the-as (function process-drawable int process-drawable) (find-parent-method metalhead-predator 7))
this
arg0
)
)
(call-parent-method this arg0)
)
(defmethod init-enemy! metalhead-predator ((this metalhead-predator))
@@ -920,7 +920,7 @@
(defmethod do-engine-sounds bike-base ((this bike-base))
((the-as (function object none) (find-parent-method bike-base 36)) this)
(call-parent-method this)
(when (logtest? (-> this flags) (rigid-body-object-flag player-driving))
(if (zero? (-> this roll-sound-id))
(set! (-> this roll-sound-id) (new-sound-id))
@@ -952,7 +952,7 @@
)
(defmethod draw-thrusters bike-base ((this bike-base))
((the-as (function object none) (find-parent-method bike-base 85)) this)
(call-parent-method this)
(when (logtest? (-> this rbody state flags) (rigid-body-flag enable-physics))
(let ((s5-0 (new 'stack-no-clear 'inline-array 'matrix 3)))
(let* ((v1-4 (the-as object (-> s5-0 0 vector 2)))
@@ -1047,7 +1047,7 @@
(if (nonzero? (-> this brake-r))
(&+! (-> this brake-r) arg0)
)
((the-as (function object int bikea) (find-parent-method bikea 7)) this arg0)
(call-parent-method this arg0)
)
(defmethod allocate-and-init-cshape bikea ((this bikea))
@@ -1181,7 +1181,7 @@
(if (nonzero? (-> this flap-r))
(&+! (-> this flap-r) arg0)
)
((the-as (function object int bikeb) (find-parent-method bikeb 7)) this arg0)
(call-parent-method this arg0)
)
(defmethod allocate-and-init-cshape bikeb ((this bikeb))
@@ -1329,7 +1329,7 @@
(if (nonzero? (-> this spoiler-r))
(&+! (-> this spoiler-r) arg0)
)
((the-as (function object int bikec) (find-parent-method bikec 7)) this arg0)
(call-parent-method this arg0)
)
(defmethod allocate-and-init-cshape bikec ((this bikec))
@@ -1464,7 +1464,7 @@
(if (nonzero? (-> this turret-jm))
(&+! (-> this turret-jm) arg0)
)
((the-as (function object int guard-bike) (find-parent-method guard-bike 7)) this arg0)
(call-parent-method this arg0)
)
(defmethod start-jump guard-bike ((this guard-bike))
@@ -1170,7 +1170,7 @@
(if (nonzero? (-> this rudder-r))
(&+! (-> this rudder-r) arg0)
)
((the-as (function object object cara) (find-parent-method cara 7)) this arg0)
(call-parent-method this arg0)
)
(defmethod allocate-and-init-cshape cara ((this cara))
@@ -1310,7 +1310,7 @@
(if (nonzero? (-> this fin-rr))
(&+! (-> this fin-rr) arg0)
)
((the-as (function object object carb) (find-parent-method carb 7)) this arg0)
(call-parent-method this arg0)
)
(defmethod allocate-and-init-cshape carb ((this carb))
@@ -1427,7 +1427,6 @@
)
;; WARN: Return type mismatch carb vs carc.
(defmethod relocate carc ((this carc) (arg0 int))
(if (nonzero? (-> this steering-wheel))
(&+! (-> this steering-wheel) arg0)
@@ -1450,7 +1449,7 @@
(if (nonzero? (-> this fin2-rr))
(&+! (-> this fin2-rr) arg0)
)
(the-as carc ((the-as (function object object carb) (find-parent-method carc 7)) this arg0))
(call-parent-method this arg0)
)
(defmethod allocate-and-init-cshape carc ((this carc))
@@ -1583,7 +1582,7 @@
(if (nonzero? (-> this turret-jm))
(&+! (-> this turret-jm) arg0)
)
((the-as (function object object hellcat) (find-parent-method hellcat 7)) this arg0)
(call-parent-method this arg0)
)
(defmethod allocate-and-init-cshape hellcat ((this hellcat))
@@ -117,15 +117,11 @@
(none)
)
;; WARN: Return type mismatch process-drawable vs vehicle-turret.
(defmethod relocate vehicle-turret ((this vehicle-turret) (arg0 int))
(if (nonzero? (-> this turret-jm))
(&+! (-> this turret-jm) arg0)
)
(the-as
vehicle-turret
((the-as (function process-drawable int process-drawable) (find-parent-method vehicle-turret 7)) this arg0)
)
(call-parent-method this arg0)
)
(defmethod vehicle-turret-method-30 vehicle-turret ((this vehicle-turret))
@@ -271,7 +267,7 @@
(defmethod deactivate transport ((this transport))
(sound-stop (-> this ambient-sound-id))
((the-as (function process-drawable none) (find-parent-method transport 10)) this)
(call-parent-method this)
(none)
)
@@ -295,7 +295,7 @@ This commonly includes things such as:
)
(defmethod vehicle-rider-method-33 citizen-norm-rider ((this citizen-norm-rider))
((the-as (function vehicle-rider none) (find-parent-method citizen-norm-rider 33)) this)
(call-parent-method this)
(setup-masks (-> this draw) 0 -1)
(setup-masks (-> this draw) 32 0)
(cond
@@ -394,7 +394,7 @@ This commonly includes things such as:
)
(defmethod vehicle-rider-method-33 crimson-guard-rider ((this crimson-guard-rider))
((the-as (function vehicle-rider none) (find-parent-method crimson-guard-rider 33)) this)
(call-parent-method this)
(setup-masks (-> this draw) 0 28)
(setup-masks (-> this draw) 3 0)
(if (logtest? (-> this flags) 4)
@@ -152,7 +152,7 @@
(defmethod deactivate vehicle ((this vehicle))
(vehicle-method-110 this)
((the-as (function rigid-body-object none) (find-parent-method vehicle 10)) this)
(call-parent-method this)
(none)
)
Loaded 100 of 323 files, more files were not shown because too many files have changed in this diff. Show more